标准库类型<vector>

来源:互联网 发布:花千骨器灵晋级数据 编辑:程序博客网 时间:2024/05/18 03:46


要想使用vector,必须包含头文件#include<vector>

  1. 定义和初始化vector对象

  •     默认初始化vector对象创建一个指定类型的空vector:    vector<string> svec;
  •    列表初始化vector对象,用花括号括起来的初始元素值赋给vector对象;vector<string> articles = {"an", "the"}
  •    创建指定数量的元素,注意这种方法只能使用直接初始化,而不能拷贝;vector<string> sevc(10,"hi!")
   

   2.  向vector对象中添加对象

经常我们创建一个vector时并不清楚实际所需的元素个数,元素的值也无法确定,此时更好的处理办法是:先创建一个空vector,然后在运行时再利用vector的成员函数push_back向其中添加元素(添加到vector对象元素的尾端)。

  • 示例:把0—99添加到vector对象v2中

vector<int> v2;for(int i=0;i !=100;++i)   v2.push_back(i);
  • 示例:从标准输入中读取单词,将其作为vector对象的元素存储
string word;vector<string> text;while(cin>>word)   text.push_back(word);
  • 注意:如果循环体内部包含有向vector对象添加元素的语句,则不能使用范围for循环。
  3.  其他vector操作
除了push_back之外,vector还提供了几种其他操作,大多数的和string相关操作类似:
v.empty()v.size()                 //返回v中元素的个数v[n]                    //返回v中第n个位置上元素的引用v1=v2; v1={a,b,c...};v1==v2;v1<v1...;
  • 可以使用范围for语句处理vector对象中的的所有元素
vector<int> v{1,2,3,4,5,6,7,8};for(auto &i:v)   i*=i;
for(auto i:v)   cout<<i<<" ";cout<<endl;
  • 使用下标运算符能获取到指定的元素,下标起始于0,类型是vector::size_type.注意不能用下标形式添加元素。
<span style="font-weight: normal;">vector<unsigned> scores(11,0);unsigned grade;while(cin>>grade){     if(grade<=100)</span><pre name="code" class="cpp" style="font-size: 18px;"><span style="font-weight: normal;">        {            grade=grade/10;            ++scores[grade];</span></span>



0 0
原创粉丝点击