#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;
}