C++ Primer 读书笔记 – 第三章
2010-06-25 09:40
197 查看
第3章 标准库类型
⒊⒌ 标准库bitset类型
[以下下标和位数均为 size_t 型(定义在头文件 cstddef 中,
unsigned 整型)]
⒈ bitset 是一种类模板,用于保存位集,并提供测位和置位操作
⒉ 定义和初始化
bitset 在定义时需要以常量表达式的形式提供位数N
初始化时参数提供位数不足则剩余高阶位置为0,位数过多则抛弃多余高阶位
⑴ bitset<N> b;
默认构造函数置各位为0
⑵ bitset<N> b( unsigned
long u );
使用 unsigned
long 值u的二进制形式初始化
⑶ bitset<N> b( string s, size_t pos=0 );
bitset<N> b( string s, size_t pos,
size_t m );
使用 string 对象s或其(下标pos起到结尾或长度为m的)子串初始化
(子)串最右端对应低阶(low-order)位,向左依次类推
⒊ 操作
除支持所有内置位运算符以及==和!=外,还支持以下操作:
⑴ 访问整个 bitset 对象
① bool any();
返回是否各位不全为0
② bool none();
返回是否各位全为0
③ size_t count();
返回为1的位的个数
④ size_t size();
返回能容纳的位数
⑵ 访问 bitset 对象中的位
(从低阶位起,各位编号依次为 0,
1, 2, 3 …)
① 下标操作符[]返回指定位的引用
② bool test(
size_t pos );
返回指定位的值
③ bitset<N>& set( size_t pos,
int val=1 );
设定指定位的值并返回对象的引用
④ bitset<N>& reset( size_t pos );
清零指定位并返回对象的引用
⑤ bitset<N>& flip( size_t pos );
取反特定位并返回对象的引用
也可以b[pos].flip(),返回指定位的引用
⑶ 设置整个 bitset 对象
① bitset<N>& set();
置所有位为1并返回对象的引用
② bitset<N>& reset();
清零所有位并返回对象的引用
③ bitset<N>& flip();
取反所有位并返回对象的引用
⑷ 获取 bitset 对象的值
① unsigned
long to_ulong();
返回位模式相同的 unsigned
long 值
若越界则产生运行时异常
② string to_string();
返回字符串形式
③ 可使用输出操作符打印 bitset 对象
⒊⒌ 标准库bitset类型
[以下下标和位数均为 size_t 型(定义在头文件 cstddef 中,
unsigned 整型)]
⒈ bitset 是一种类模板,用于保存位集,并提供测位和置位操作
⒉ 定义和初始化
bitset 在定义时需要以常量表达式的形式提供位数N
初始化时参数提供位数不足则剩余高阶位置为0,位数过多则抛弃多余高阶位
⑴ bitset<N> b;
默认构造函数置各位为0
⑵ bitset<N> b( unsigned
long u );
使用 unsigned
long 值u的二进制形式初始化
⑶ bitset<N> b( string s, size_t pos=0 );
bitset<N> b( string s, size_t pos,
size_t m );
使用 string 对象s或其(下标pos起到结尾或长度为m的)子串初始化
(子)串最右端对应低阶(low-order)位,向左依次类推
⒊ 操作
除支持所有内置位运算符以及==和!=外,还支持以下操作:
⑴ 访问整个 bitset 对象
① bool any();
返回是否各位不全为0
② bool none();
返回是否各位全为0
③ size_t count();
返回为1的位的个数
④ size_t size();
返回能容纳的位数
⑵ 访问 bitset 对象中的位
(从低阶位起,各位编号依次为 0,
1, 2, 3 …)
① 下标操作符[]返回指定位的引用
② bool test(
size_t pos );
返回指定位的值
③ bitset<N>& set( size_t pos,
int val=1 );
设定指定位的值并返回对象的引用
④ bitset<N>& reset( size_t pos );
清零指定位并返回对象的引用
⑤ bitset<N>& flip( size_t pos );
取反特定位并返回对象的引用
也可以b[pos].flip(),返回指定位的引用
⑶ 设置整个 bitset 对象
① bitset<N>& set();
置所有位为1并返回对象的引用
② bitset<N>& reset();
清零所有位并返回对象的引用
③ bitset<N>& flip();
取反所有位并返回对象的引用
⑷ 获取 bitset 对象的值
① unsigned
long to_ulong();
返回位模式相同的 unsigned
long 值
若越界则产生运行时异常
② string to_string();
返回字符串形式
③ 可使用输出操作符打印 bitset 对象
相关文章推荐
- 《C++ Primer》读书笔记-第三章 01 using声明
- C++ primer 读书笔记--第三章 标准库类型
- 《C++ Primer》读书笔记 第三章
- 《C++ Primer》读书笔记-第三章 03 标准库类型vector
- C++ Primer 读书笔记 – 第三章
- 《C++ Primer》读书笔记-第三章 04 迭代器
- 《C++ Primer》读书笔记第三章-4-数组 And 多维数组
- 《C++ Primer》读书笔记-第三章 05 数组
- C++ Primer 读书笔记 – 第三章
- 《C++ Primer》读书笔记-第三章 06 多维数组
- 《C++ Primer》读书笔记 第三章 vector、iterator
- 《C++ Primer》读书笔记第三章-2-标准库类型vector
- C++ Primer 读书笔记 - 第三章
- 《C++ Primer》读书笔记第三章-3-迭代器介绍
- 《C++ Primer》读书笔记第三章-1-标准库类型string
- 读书笔记《疯狂人类进化史》,第三章,肤色中隐藏的进化奥秘
- 《C++ Primer》读书笔记——第十五章_面向对象程序设计_2
- C++ primer 读书笔记
- C++ primer 读书笔记(第3章)字符串、向量和数组
- C++ Primer 读书笔记 – 第六章