Cpp Standard Library 简明教程
C++ Library - <bitset>
Introduction
位集表示 N 个位的固定大小序列,并存储值 0 或 1。零表示值为假或者位未设置,一表示值为真或者位已设置。位集类模拟布尔值的节省空间数组,其中每个元素仅占据一个位。
因为它模拟数组,所以它的索引也从第 0 个位置开始。可以使用下标操作符访问位集中的各个位。例如,要访问位集 foo 的第一个元素,请使用 foo[0]。
位集类提供构造函数以从整数和字符串创建位集。位集的大小在编译时固定。STL 提供 vector<bool> 类,它提供动态调整大小的功能。
Functions from <bitset>
以下是 <bitset> 头文件中所有方法的列表。
Constructors
Sr.No. |
Method & Description |
1 |
bitset::bitset() 构造位集容器并将其初始化为零。 |
2 |
bitset::bitset() 构造位集容器并将其用 val 的位值进行初始化。 |
3 |
bitset::bitset() 用 C++ string 对象构造并初始化位集容器。 |
4 |
bitset::bitset() 用 c 语言风格的字符串构造并初始化位集容器。 |
Member class
Sr.No. |
Method & Description |
1 |
bitset::reference() 这是提供可从 std::bitset::operator[] 返回的 l 值的嵌入类。 |
Bitset operators
Sr.No. |
Method & Description |
1 |
bitset::operator&= 对当前位集对象执行按位 AND 运算。 |
2 |
link:../cpp_standard_library/cpp_bitset_operator_bitwise_or_self.html[bitset::operator |
=]对当前位集对象执行按位 OR 运算。 |
3 |
bitset::operator^= 对当前位集对象执行按位 XOR 运算。 |
4 |
bitset::operator<⇐ 对当前位集对象执行按位左 SHIFT 运算。 |
5 |
bitset::operator>>= 对当前位集对象执行按位右 SHIFT 运算。 |
6 |
bitset::operator~ 对位集执行按位 NOT 运算。 |
7 |
bitset::operator<< 对位集执行按位左 SHIFT 运算。 |
8 |
bitset::operator>> 对位集执行按位右 SHIFT 运算。 |
9 |
bitset::operator== 测试两个位集是否相等。 |
10 |
bitset::operator!= 测试两个位集是否相等。 |
11 |
bitset::operator& 对位集执行按位 AND 运算。 |
12 |
link:../cpp_standard_library/cpp_bitset_operator_bitwise_or.html[bitset::operator |
]对位集执行按位 OR 运算。 |
13 |
../cpp_standard_library/cpp_bitset_operator_bitwise_xor.html[bitset::operator^]Performs bitwise XOR operation on bitset. |
14 |
bitset::operator>> 从 is 中提取最多 N 个位,并存储到另一个位集 x 中。 |
15 |
bitset::operator>> 将位集 x 插入到字符流 os 中。 |
Member functions
Sr.No. |
Method & Description |
1 |
bitset::all() 测试位集中是否设置了所有位。 |
2 |
bitset::any() 测试位集中是否至少设置了一个位。 |
3 |
bitset::count() 统计位集中设置的位数。 |
4 |
bitset::flip() all bits从bitset中切换所有位。 |
5 |
bitset::flip() single bit从bitset中切换单个位。 |
6 |
bitset::none() 测试是否所有位均未设置。 |
7 |
bitset::operator[] bool版本返回位置pos处的位值。 |
8 |
bitset::operator[] 引用版本返回位置pos上的位引用。 |
9 |
bitset::reset() all bits将bitset的所有位重置为0。 |
10 |
bitset::reset() single bit将bitset的单个位重置为0。 |
11 |
bitset::set() all bits将bitset的所有位设为1。 |
12 |
bitset::set() single bit将bitset的单个位设为1或0。 |
13 |
bitset::size() 报告bitset的大小。 |
14 |
bitset::test() 测试第N位是否已设置。 |
15 |
bitset::to_string() 将bitset对象转换为字符串对象。 |
16 |
bitset::to_ullong() 将bitset转换为无符号长长整数。 |
17 |
bitset::to_ulong() 将bitset转换为无符号长整数。 |
Non-member functions
Sr.No. |
Method & Description |
1 |
bitset::hash() 基于提供的bitset返回哈希值。 |