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;
}