vector是一个类模板
因此我们可以定义保存string类型vector或int类型vector,又或者是自己定义的类型的vector。
还可以像下面这样定义
vector< vector<int> >ivec1;
vector对象的操作
v.empty() //如果v为空,返回true,否则返回false
v.size() //返回v中元素个数
v.push_back(t) //在v的末尾增加一个值为t的元素
v[n] //返回v中位值为n的元素
v1 = v2 //把v1元素替换为v2中元素的副本
v1 == v2 //如果v1与v2相等,则返回true
!=, <, <=, >, >= //保持惯有含义
下标只能用于获取已存在元素。
每种容器类型都定义了自己的迭代器类型,如vector
vector<int>::iterator iter;
begin end函数用于返回迭代器
解引用操作符*来访问迭代器所指向的元素
*iter=0
bitset,类似于vector,bitset也是一种类模板,区别在于bitset类型对象仅在于其长度而不在其类型。
bitset<32> bitvec; //32bits,all zero
用string初始化bitset对象时,string对象直接表示位模式,从string读入位集的顺序是从右往左。