Table of Contents generated with DocToc
string支持长度可变的字符串,vector用于保存一组特定类型的对象。
一个using声明只能作用于一个命名空间成员。
如果在头文件中使用using声明,则在包含该头文件的每个程序中都放置了同一using声明。
字符串字面值与string类型不是同一类型。
string s; cin>>s;
读取并忽略开头所有的空白字符,读取字符至再次遇到空白字符,读取终止。
getline
并不忽略开头的换行符,如果遇到换行符,那string参数就被置空。
getline
返回时会丢弃换行符。
string的size
操作返回的是string:size_type
类型的值,它与unsigned
具有同样的含义。
不要把size
的返回值赋给int变量。
string的重新赋值是将原有内存清空,再重新分配,然后将字符存放到新内存空间的过程。
string的下标操作也可作为左值。
标准库不要求检查索引值,下标越界是没有定义的,这回导致运行时错误。
vector是一个类模版,且是动态增长的。
vector的size
也返回size_type
类型。
vector也支持添加元素和下标操作,但是下标操作不支持添加元素,只能获取已存在的元素。
仅能对已存在的元素进行下标操作,否则,不同的编译器会导致不同的结果。
所有的标准库容器都定义了相应的迭代器类型。
end
操作返回的迭代器不指向任何实际的元素,前闭后开的区间[... ) 。
迭代器支持自增和解引用运算。
const_iterator
只能用于读取容器内元素,不能改变值。
迭代器支持算术操作。
任何改变vector长度的操作都会使已存在的迭代器失效。
bitset保存二进制位的有序集。
bitset可用unsigned和string对象初始化,string对象直接表示为位模式,读取位集的顺序是从右到左。
上一章:2. 变量和基本类型
下一章:4. 数组和指针