跳转到内容

C++/Bitset

维基教科书,自由的教学读本
< C++

<bitset>b:C++標準程式庫中的一個b:头文件,定义了b:C++标准中固定尺寸比特序列的类模板。用于紧凑存储表示一组比特标志位,并能在常量时间访问任何一个标志位。

bitset类模板没有定义迭代器,因此它不是标准的STL容器

模板类

[编辑]
template <size_t N>  class bitset;

成员类型

[编辑]
成员类型 定义 注释
element_type 成员类型 bool

成员函数

[编辑]
  • (constructor) 构造函数
  • all 测试所有的标志位是否置位
  • any 测试是否有标志位置位
  • count 返回值为1的位的个数
  • flip 翻转所有的标志位;或者传参数时把指定位置的标志位翻转。
  • none 测试是否没有标志位置位
  • reset 复位所有的标志位;特别地,传一个参数,表示把指定位改成0
  • set 置位所有的标志位;特别地,可以传参数:set(u,value)的意思是把bitset中的第u位变成value,取值0或1。
  • size 返回标志位的个数
  • test 测试指定位置的标志位是否置位
  • to_string 转化为string表示
  • to_ullong 转化为unsigned long long.
  • to_ulong 转化为unsigned long

成员类

[编辑]

reference 一个代理类,用于通过operator[]来访问或操作单个标志位。

重载的非成员函数模板

[编辑]
  • operator!=
  • operator&= 按位与赋值
  • operator<< 向左移位
  • operator<<=
  • operator==
  • operator>>
  • operator>>=
  • operator[] 访问指定的标志位,只读
  • operator^= 按位异或赋值
  • operator|= 按位或赋值
  • operator~ 按位非

参考文献

[编辑]

页面Template:ReflistH/styles.css没有内容。