您的位置:首页 > 其它

初识标准库vector

2015-10-27 10:29 183 查看
vector:相同类型对象的集合(不能包含引用,引用不是对象),有索引,是一个类模板,通常称容器。

初始化:与string有些类似,但也有些不同

#include<iostream>
#include<vector>

using namespace std;

int main()
{
       vector<string> v;//类型为string的空vector,执行默认初始化
       vector<string> v1(v);//包含的副本,类型必须相同
       vector<string> v2=v;//类似于上面
       vector<string> v3(5,"a");//不管是字符,字符串还是数字,后面都是双引号
       vector<string> v4(5);//只有个数,没有值,则初始化空的string对象
       vector<string> v5{"1","2"};
       vector<string> v6={"1","2"};//同上

       //可以根据括号的类型来判别,圆括号表示构造,花括号表示初始化
        vector<int> v7(5);//构造5个int元素都为0
        vector<int> v8{5};//只有一个元素5

        return 0;
  
}




有时候要创建空的vector,则要向vector中添加元素,用vector的成员函数push_back,如果向vector中添加元素则不能使用范围for循环。

#include<iostream>
#include<vector>

using namespace std;

int main()
{
     vector<int> v;
     for(int i=0;i!=5;i++)//增加元素不能用范围for,对已有的元素操作和遍历可以用
     {
           v.push_back(i);//从尾端添加
     }

      for(auto c : v)// 对元素进行操作要用&,不操作可以不用&
      {
           cout<<c<<endl;
      }

      return 0;

}
打印:1 2 3 4 5

vector中的empty和size成员和string类似

vector下标:下标类型为size_type,可以通过下标查找元素,但不能用下标添加元素,因为只能对已存在的元素执行下标操作。

#include<iostream>
#include<vector>

using namespace std;

int main()
{
    int a,b=0;
    vector<int> v(5,0);//初始化为5个0

    while(cin>>a)
    {
          v[b]=a;//b刚开始为0,则表示第一个元素
          b++;//下标前移
    }

     for(auto c : v)
     {
         cout<<c<<;
     }
     
     return 0;
}
输入:1 2 3 (记得要输入结束符,windows下Ctrl+z)

打印:1 2 3 0 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: