标准库类型 vector
表示对象的集合,其中所有对象的类型都相同。
因为 vector
中容纳着其他对象,所以它常被称为容器。
要想使用 vector
需要包含头文件 <vector>
。
vector
是模板而非类型,由 vector
生成的类型必须包含 vector
中元素的类型,例如:vector<int>
。
定义和初始化vector对象
- 列表初始化
vector
对象
vector<string> articles = {"a","an","the"};
- 创建指定数量的元素
vector<int> ivec(10,-1);
- 值初始化
vector<int> ivec(10); //10个元素,每个都初始化为0
vector<string> svec(10); //10个元素,每个都是空string对象
- 列表初始值还是元素数量
vector<int> v1(10); //v1有10个元素,每个值都是0
vector<int> v2{ 10 }; //v2有1个元素,其值为10
vector<int> v3(10, 1); //v3有10个元素,每个值都是1
vector<int> v4{ 10, 1 }; //v4有2个元素,值分别是10和1
vector<string> v5{ "hi" }; //列表初始化,v5有一个元素
vector<string> v6("hi"); //错误,不能使用字符串字面值构建vector对象
vector<string> v7(10); //v7有10个默认初始化的元素
vector<string> v8{ 10, "hi"}; //v8有10个值为"hi"的元素
vector支持的操作
不能用下标形式添加元素
vector<int> ivec;
for(decltype(ivec.size())ix = 0;ix!=10;++ix)
ivec[ix] = ix; //严重错误,ivec不包含任何元素
vector
对 象以及 string
对象的下标运算符可以用于访问已经存在的元素,但是不能用于添加元素。‘