首页 > 代码库 > 3.3 标准库类型 vector

3.3 标准库类型 vector

#include<iostream>
#include<vector>
#include<string>

using std::cout;
using std::cin;
using std::vector;
using std::string;


int main()
{
    /*定义和初始化vector*/
    vector <int> v1;                //执行默认初始化,生成空的v1,不含有任何元素,潜在对象为int型
                                    //空向量可以在程序运行时向里面添加元素
    vector <int> v2(v1);            //注意执行拷贝赋值时两个vector的对象必须一致
    vector <int> v3 = v1;            //若vector <string> v3 = v1则错误
    vector <int> v4(5);                //包含5个重复执行了值初始化的对象,int型值初始化为零
    vector <int> v5{3,4,5};            
    vector <int> v6 = { 3,4,5 };

    /*列表初始化vector对象*/
    vector <string> v7 = { "My name","is","lijun" };
    //vector <string> v7 = ( "My name","is","lijun" );错误
    //注意此处为列表初始化,目前为止接触的第三种初始化方式,不可以用()括起来

    /*创建指定数量的元素*/
    vector <int> v8 = { 10,1 };        //10个int类型的元素,每个被初始化为-1
    vector <string> v9 = { 10,"lijun" };
    //10个string类型的元素,每个被初始化为"lijun"

    /*值初始化*/
    /*提供vector对象所容纳的元素的数量,但初始值并没有省略*/
    /*限制一:有些类必须要求明确初始化值*/
    /*限制一:只提供数量没有提供默认初始化值时则只能使用直接初始化*/
    vector <int> v10(3);                //int型默认初始化值为零
    vector <string> v11(3);                //int型默认初始化值为零

    /*用push_back(压到尾端)创建多元素vector*/
    vector <int> v12;
    for (int i = 0; i < 100; i++)
    {
        v12.push_back(i);                //在原有的向量元素后面再增加100个元素
    }

    //如果
    string v13;
    vector <string> v14;
    while (    cin >> v14)                    //此处编译故障
    {
        v14.push_back(v13);                
    }

    return 0;
}

 

3.3 标准库类型 vector