bitset<32>bitvec; //bitvec被定义为含有32位的bitset对象
初始化bitset对象的方法
bitset
bitset
bitset
bitset
-当用unsigned long值作为bitset对象的初始值时,该值将转化为二进制的位模式。
十六进制值0xffff表示为二进制位就是十六个1和十六个0
//bitvec1 的长度小于初始化值
bitset<16>bitvec1(0xffff); //0~15位被设置为1
//bitvec2的长度和unsigned long相同
bitset<32>bitvec2(0xffff); //0~15位设置为1,1~31位设置为0
//bitset3的长度大于usigned long
bitset<128>bitvec3(0xffff); //位32到127被初始化为0
当用string对象初始化bitset对象时,string对象直接表示为为模式。从string对象读入位集的顺序是从右向左:
string strval(“1100”);
bitset<32>bitvec4(strval);
//bitvec4的位模式中第2和3位置为1,其余位置都为0.
-注解:string对象和bitset对象之间是反向转化:string对象的最右边字符用来初始化bitset对象的低阶位。
bitset对象上的操作
-用来测试或设置bitset对象中的单个或多个二进制位。
-count操作的返回类型是标准库中命名为size_t的类型
-bitset的size操作返回bitset对象中二进制位的个数,返回值是size_t的类型
-具体操作内容易理解就不做太多摘录
总结:本章介绍了三种标准库类型,一个是string类型、vector类型和bitset类型,这三种类型有很多类似之处,我觉得只要理解了其中的一种类型的基本概念和具体操作,然后对三种类型进行联系,也许就不会混淆,这一章简单简介了容器和迭代器,我对它们有了一定的了解,C++发展的趋势就是不断人性化,学习以最简洁最易理解的方式来编写程序,不断简化程序,减少代码的编辑量,我想自己走的就是这样的方向
摘自:wwj的梦想之路