Skip to content

Latest commit

 

History

History
88 lines (48 loc) · 2.71 KB

标准库类型.md

File metadata and controls

88 lines (48 loc) · 2.71 KB

Table of Contents generated with DocToc

string支持长度可变的字符串,vector用于保存一组特定类型的对象。

 

命名空间的using声明

一个using声明只能作用于一个命名空间成员。

如果在头文件中使用using声明,则在包含该头文件的每个程序中都放置了同一using声明。

 

string类型

字符串字面值与string类型不是同一类型。

string s; cin>>s; 读取并忽略开头所有的空白字符,读取字符至再次遇到空白字符,读取终止。

getline并不忽略开头的换行符,如果遇到换行符,那string参数就被置空。

getline返回时会丢弃换行符。

string的size操作返回的是string:size_type类型的值,它与unsigned具有同样的含义。

不要把size的返回值赋给int变量。

string的重新赋值是将原有内存清空,再重新分配,然后将字符存放到新内存空间的过程。

string的下标操作也可作为左值。

标准库不要求检查索引值,下标越界是没有定义的,这回导致运行时错误。

 

vector类型

vector是一个类模版,且是动态增长的。

vector的size也返回size_type类型。

vector也支持添加元素和下标操作,但是下标操作不支持添加元素,只能获取已存在的元素。

仅能对已存在的元素进行下标操作,否则,不同的编译器会导致不同的结果。

 

迭代器

所有的标准库容器都定义了相应的迭代器类型。

end操作返回的迭代器不指向任何实际的元素,前闭后开的区间[... ) 。

迭代器支持自增和解引用运算。

const_iterator只能用于读取容器内元素,不能改变值。

迭代器支持算术操作。

任何改变vector长度的操作都会使已存在的迭代器失效。

 

bitset类型

bitset保存二进制位的有序集。

bitset可用unsigned和string对象初始化,string对象直接表示为位模式,读取位集的顺序是从右到左。

导航

目录

上一章:2. 变量和基本类型

下一章:4. 数组和指针