//略过using声明和标准库类型string
vector,英语含义是向量,此处的标准库类型vector不妨理解为向量组,即vector容器≈向量组vector。
标准库类型vector——表示对象的集合,其中所有对象的类型都相同,集合中每一个对象都有一个对应的索引,用于访问对象。与其被成为标准库类型,vector更像是一个类模板,作为编译器用于生成函数和类的一种使用说明,用于
实例化 地产生类和模板。
vector容器的元素只能是对象,所以不存在包含引用的vector。vector的元素可以是内置类型、自定义类型乃至于vector容器本身。(是不是感觉很像一个数组 (ฅ´ω`ฅ) )
列表初始化vector时,要注意区分花括号和圆括号在运用中的不同之处:
vector<int> v1(10,1); //v1有十个元素,每个元素都是1;
vector<int> v2{10,1}; //v2有两个元素,分别是10和1;
列表初始化vector容器是一种向vector中添加元素的方法,而最普遍的方法则是:
先定义一个空vector,然后当运行时获取到元素的值后再逐一添加。
至于如何添加,则要使用到vector的成员函数
push_back :负责把一个值当作vector的对象的尾元素“push”到vector的“back”处。例:
vector<int> v3;
for (int i; i!=100; i++)
{
v3.push_back(i);
}
又如:
string word;
vector<string>v4;
while(cin>>word)
v4.push_back(word);
vector含有的其他成员函数和操作运算如下:
1.v.empty() //以返回的布尔值判定该vector容器是否为空
v2..size() //返回该vector容器中元素个数
3.v[n] //返回该vector容器第n个位置上元素的引用
4.v1 = v2 //用v2中元素的拷贝替换v1中的元素
5.v1 = {a,b,c...} //用列表中元素的拷贝替换v1中的元素
6.v1 == v2 //6,7用于根据v1和v2中元素的数量和各自位置上对应的元素判定二者是否相等
7.v1 != v2
8.<,<=,>,>= //以字典顺序进行比较
//不要使用下标形式添加元素,下标运算符只能用于访问已存在元素