C++ Primer 读书笔记 – 第三章

来源:互联网 发布:软件开发网校 编辑:程序博客网 时间:2024/05/16 04:57

C++ Primer 读书笔记 – 第三章

 68人阅读 评论(0) 收藏 举报
读书c++string

 第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 对象中的位
(从低阶位起,各位编号依次为 0123 …)
① 下标操作符[]返回指定位的引用
② 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 对象

0 0