Vector:是标准库vector类型
使用vector,必须包含适当的头文件
#include<vector>
定义和初始化
vector<T> v1 //v1是一个空的vector
vector<T> v2(v1) //v2中包含v1的所有元素的副本
vector<T> v2 = v1 //等价于v2(v1)
赋值
vector<string> v1{
"hi"} //列表初始化,v1有一个元素
vector<string> v2("hi") //错误,不能用一个字符串字面值创建vector对象
vector<string> v3{
10} //有10个默认初始化的值
vector<string> v4{
10,"hi"} //有10个值为"hi"的元素
注意:
vector<int> ivec(10) //10个元素,每一个元素均为0
vector<string> svec(10) //10个元素。每一个都是空string对象
//给vector赋值用{},涉及到vector中数量的时候用()
Vector对象最重要的几种操作
1. v.push_back(t) 在数组的最后添加一个值为t的数据
2. v.size() 当前使用数据的大小
3. v.empty() 判断vector是否为空
4. v[n] 返回v中位置为n的元素
5. v1=v2 把v1的元素替换为v2元素的副本
6. v1==v2 判断v1与v2是否相等
7. !=、<、<=、>、>= 保持这些操作符惯有含义
添加元素
#include<vector>
vector<int> v1
for(int i = 1;i!= 100;i++)
{
v1.push_back(i)
}
不能用下标形式添加元素
vector<int> ivec
for(decltype(ivec.size()) ix = 0;ix!= 10;ix++)
{
ivec[ix] = ix //严重错误,ivec不包含任何的元素
ivec.push_back(ix) //正确,添加一个新元素,新元素为ix
}
注意:只能对确知已存在的元素执行下标操作