- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ 库 - <位集>
介绍
Bitset 表示N位的固定大小序列,并存储值 0 或 1。零表示值为假或位未设置,1 表示值为真或位已设置。Bitset 类模拟节省空间的布尔值数组,其中每个元素仅占用一位。
由于它模拟数组,因此它的索引也从第 0个位置开始。可以使用下标运算符访问位集中的各个位。例如,要访问位集foo的第一个元素,请使用foo[0]。
Bitset 类提供了从整数和字符串创建位集的构造函数。位集的大小在编译时是固定的。STL 提供了vector<bool>类,该类提供动态调整大小功能。
定义
以下是 <bitset> 头文件中 std::bitset 的定义
template <size_t N> class bitset;
参数
N - 位集的大小。
会员类型
以下成员类型可以用作成员函数的参数或返回类型。
先生。 | 会员类型 | 定义 |
---|---|---|
1 | 参考 | 代表对位的引用的代理类。 |
<bitset> 中的函数
下面是 <bitset> 标头中所有方法的列表。
构造函数
先生。 | 方法及说明 |
---|---|
1 | 位集::位集()
构造位集容器并将其初始化为零。 |
2 | 位集::位集()
构造 bitset 容器并使用val的位值对其进行初始化。 |
3 | 位集::位集()
从 C++ 字符串对象构造并初始化一个位集容器。 |
4 | 位集::位集()
从 c 样式字符串构造并初始化一个位集容器。 |
会员等级
先生。 | 方法及说明 |
---|---|
1 | 位集::参考()
这是嵌入式类,它提供可以从std::bitset::operator[]返回的左值。 |
位集运算符
先生。 | 方法及说明 |
---|---|
1 | 位集::运算符&=
对当前位集对象执行按位与运算。 |
2 | 位集::运算符|=
对当前位集对象执行按位或运算。 |
3 | 位集::运算符^=
对当前位集对象执行按位异或运算。 |
4 | 位集::运算符<<=
对当前位集对象执行按位左移操作。 |
5 | 位集::运算符>>=
对当前位集对象执行按位右移操作。 |
6 | 位集::运算符~
对位集执行按位 NOT 运算。 |
7 | 位集::运算符<<
对位集执行按位左移操作。 |
8 | 位集::运算符>>
对位集执行按位右移操作。 |
9 | 位集::运算符==
测试两个位集是否相等。 |
10 | 位集::运算符!=
测试两个位集是否相等。 |
11 | 位集::运算符&
对位集执行按位与运算。 |
12 | 位集::运算符|
对位集执行按位或运算。 |
13 | 位集::运算符^
对位集执行按位异或运算。 |
14 | 位集::运算符>>
从is中提取最多N位并将其存储到另一个位集x中。 |
15 | 位集::运算符>>
将位集x插入字符流os。 |
会员功能
先生。 | 方法及说明 |
---|---|
1 | 位集::全部()
测试 bitset 中的所有位是否已设置。 |
2 | 位集::任意()
测试是否设置了 bitset 中的至少一位。 |
3 | 位集::计数()
计算 bitset 中设置的位数。 |
4 | bitset::flip() 所有位
切换位集中的所有位。 |
5 | bitset::flip() 单个位
切换位集中的单个位。 |
6 | 位集::无()
测试所有位是否未设置。 |
7 | bitset::operator[] 布尔版本
返回位置pos处的位值。 |
8 | bitset::operator[] 参考版本
返回位置pos处的位的引用。 |
9 | bitset::reset() 所有位
将 bitset 的所有位重置为零。 |
10 | bitset::reset() 单个位
将 bitset 的单个位重置为零。 |
11 | bitset::set() 所有位
将 bitset 中的所有位设置为 1。 |
12 | bitset::set() 单个位 将 bitset 中的单个位设置为1或0。 |
13 | 位集::大小()
报告位集的大小。 |
14 | 位集::测试()
测试第 N 位是否已设置。 |
15 | 位集::to_string()
将位集对象转换为字符串对象。 |
16 | 位集::to_ullong()
将 bitset 转换为 unsigned long long。 |
17 号 | 位集::to_ulong()
将 bitset 转换为 unsigned long。 |
非成员函数
先生。 | 方法及说明 |
---|---|
1 | 位集::哈希()
根据提供的位集返回哈希值。 |