vector类模板
定义和初始化
方法 | 含义 |
---|
vectorv1 | v1是一个空的vector,它潜在的元素是T类型,执行默认的初始化 |
vectorv2(v1) | v2包含v1的所有元素的副本 |
vectorv2=v1 | 等价于v2(v1),v2中包含有v1所有元素的副本 |
vectorv3(n,val) | v3包含了n个重复的元素,每个元素的值都是val |
vectorv4(n) | v4包含了n个重复地执行初始化的对象 |
vectorv5{a,b,c …}【C++11】 | v5包含了初始值个数的元素,每个元素被赋予相应的初始值 |
vectorv5={a,b,c …}【C++11】 | 等价于v5{a,b,c…} |
是初始化还是元素数量
方法 | 含义 |
---|
vectorv1(10); | v1有10个元素,每个值都是0 |
vectorv2{10}; | v2有1个元素,该元素的值是10 |
vectorv3(10,1); | v3有10个元素,每个值都是1 |
vectorv4{10,1}; | v4有两个元素,值分别是10,和1 |
vector上的操作
操作 | 含义‘ |
---|
v.empty() | 如果v不含有任何元素,则返回真;否则返回假 |
v.size() | 返回v中的元素的个数 |
v.push_back(t) | 向v的尾端添加一个值为t的元素 |
v[n] | 返回v中第n个位置上的元素的引用 |
v1=v2 | 用v2中的元素拷贝替换v1中的元素 |
v1={a,b,c …} | 用列表中元素拷贝替换v1中的元素 |
v1==v2 | v1和v2相等当且仅当它们的元素的数量相同且且对应位置元素的值都相同 |
v1!=v2 | - |
<,<=,>,>= | 以字典顺序进行比较 |
auto关键字【C++11】
C++11标准引入新的auto说明符,它能够让编译器替我们去分析表达式所属的类型,和原来那些只对应一种特定类型的说明符(比如int,double)不同,auto让编译器通过初始值来推算变量的类型。
示例代码【C++11】
vector<int>v{1,2,3,4,5};
for(auto i:v){
cout<<i<<endl;
}