C++ vector类模板和auto关键字

来源:互联网 发布:三维数组 python 编辑:程序博客网 时间:2024/06/05 16:55

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;}
原创粉丝点击