First
定义和初始化vector对象 (主要是()与{ }的区别)
定义 | 含义 |
---|---|
vector<T> v1 | v1是一个空vector,它潜在的元素是T类型,执行默认初始化 |
vector<T> v2(v1) | v2中包含有v1所有元素的副本 |
vector<T> v2=v1 | 等价于v2(v1) |
vector<T> v3(n,val) | v3包含了n个重复的元素,每个元素的值都是val |
vector<T> v4(n) | v4包含了n个重复地执行了值初始化的对象 |
vector<T> v5{a,b...} | v5包含了初始值个数的元素,每个元素被赋予相应的初始值 |
vector<T>v5={a,b..} | 同上 |
vector支持的操作
表达式 | 含义 |
---|---|
v.empty() | 如果v中不含任何元素,返回true,否则返回false |
v.size() | 返回v中元素的个数 |
v.push_back(t) | 向v的末尾添加一个值为t的元素 |
v[n] | 返回v中第n个位置上元素的引用 |
v1=v2 | 用v2中的元素替换v1中的元素 |
v1={a,b...} | 用列表中元素的拷贝替换v1中的元素 |
v1==v2 or v1!=v2 | 当且仅当它们的元素数量相同且对应位置的元素值都相同时才相同 |
<,<=,>,>= | 以字典顺序进行比较 |
一些注意的地方
vector<int> v{1,2,3,4,5,6,7,8,9};
for(auto &i : v) //对于v中的每一个元素(注意:i是一个引用)
i*=i;
for(auto i : v)
cout<<i<<" ";
cout<<endl;
//for用C11的标准时,注意要想对数组或者容器(严格来说vector并不是一个容器,而是一个类模板)
//中的元素进行修改 i 应用引用的方式使用。
//以10分为一个分数段 统计成绩的数量0~9,10~19,...,90~100
vector<unsigned>scores(11,0) //11个分数段,全部初始化为0
unsigned grade;
while(cin>>grade){
if(grade<=100)
++scores[grade/10];
}
最后文章读到这里的你,有什么好的想法,建议,欢迎在评论区留言。
---小学馆