读书人

标准库部类-string,vector,bitset

发布时间: 2013-10-08 16:38:32 作者: rapoo

标准库类型--string,vector,bitset
标准库类型

一.标准string类型

string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。

1.1 string对象的定义和初始化

当没有明确指定对象初始化时,系统将使用默认构造函数。

标准库部类-string,vector,bitset
注意:编程时一定要注意区分字符串字面值string数据类型的使用。

1.2 string对象的读写

1. string类型的输入操作符:

读取并忽略开头所有的空白字符(如空格、换行符、制表符)。读取字符直至再次遇到空白字符,读取终止。

2.读入未知书目的string对象:


1. string对象的长度指的是string对象中字符的个数,可以通过size操作获取。如s.size() ,返回s中字符的个数。

如何判断string对象是否为空:



这些函数都在cctype头文件中定义。
2.vector对象的操作
标准库部类-string,vector,bitset
使用size_type类型时,必须指出该类型是在哪里定义的,vector类型总是包括vector的元素类型:
1、用unsigned值初始化bitset对象:值将转换成二进制的位模式,如果bitset类型长度打印unsigned long值的二进制位数,其余的高阶位将置为0,而小于则只用unsigned值中的低阶位,将超过的高阶位丢弃。 2、用string对象初始化bitset对象:string对象直接表示为位模式,string对象和bitset对象之间是反向转化的,string对象的最右边字符用来初始化bitset对象的低阶位。 从string对象读入位集的顺序是从右向左

标准库部类-string,vector,bitset

1 bitset<32> bitvec;   // 32 bits , all zero2 size_t bits_set = bitvec.count(); //置为1的二进制位的个数3 size_t sz = bitvec.size(); // return 32

count操作的返回类型时标准库中命为size_t的类型。size_t类型定义在cstddef头文件中。他是一个与机器相关的unsigned类型,大小足以保证存储内存中对象的大小。

4.访问bitset对象中的位

// assign 1 to even numbered bitsfor(int index = 0 ; index != 32 ; index += 2)    bitvec[index] = 1;

为了测试某个二进制位是否为1,可以用test操作或者测试下标操作符的返回值:

1 if(bitvec.test(i))2     //bitvec[i] is on3 4 // equivalent test using subscript5 if(bitvec[i])6     //bitvec[i] is on

如果下标操作符测试的二进制位为1,则返回的测试值的结果为true,否则返回false。

1 bitvec.reset();  // set all the bits to 02 bitvec.set();     // set all the bits to 1

这篇博客也发在博客园:http://www.cnblogs.com/heyonggang/p/3259236.html

读书人网 >编程

热点推荐