vector的创建和初始化有多种方式 ,不仅可以直接初始化,还可以使用其他容器进行初始化,也可以使用assign进行设置固定容量和值,下面来看下具体的代码:
#include <iostream>
#include <vector>
using namespace std;
void createVectorInit()
{
//1.创建空vec1
vector<int> vec1;
cout << "vec1.isEmpty = " << vec1.empty() << " vec1.size = " << vec1.size() << " vec1.max_size = " << vec1.max_size()<< endl;
//2.创建vec2有2个元素,值为随机值
vector<int> vec2(2);
cout << "vec2.isEmpty = " << vec2.empty() << " vec2.size = " << vec2.size() << " vec2.max_size = " << vec2.max_size()<< endl;
cout << "vec2的值为:" << endl;
for(auto &val: vec2)
{
cout << val << "\t";
}
cout << endl;
//3.创建vec3有3个元素,分别为23, 56, 18
vector<int> vec3 = {23, 56, 18};
cout << "vec3.isEmpty = " << vec3.empty() << " vec3.size = " << vec3.size() << " vec3.max_size = " << vec3.max_size()<< endl;
cout << "vec3的值为:" << endl;
for(auto &val: vec3)
{
cout << val << "\t";
}
cout << endl;
//4.创建vec4,用vec3赋值
vector<int> vec4 = vec3;
//vector<int> vec4(vec3);//这两种方法都可以
cout << "vec4.isEmpty = " << vec4.empty() << " vec4.size = " << vec4.size() << " vec4.max_size = " << vec4.max_size()<< endl;
cout << "vec4的值为:" << endl;
for(auto &val: vec4)
{
cout << val << "\t";
}
cout << endl;
//5.创建vec5用assign进行赋值
vector<int> vec5;
vec5.assign({35, 62, 71, 19});
cout << "vec5的值为:" << endl;
for(auto &val: vec5)
{
cout << val << "\t";
}
cout << endl;
//6.创建vec6用vec4进行初始化
vector<int> vec6(vec4.begin(), vec4.end());
cout << "vec6的值为:" << endl;
for(auto &val: vec6)
{
cout << val << "\t";
}
cout << endl;
cout << "vec6.size = " << vec6.size() << " vec6.capacity = " << vec6.capacity() << endl;
//7.创建vec7用assign设定容器大小和初始值
vector<int> vec7;
vec7.assign(5, 67);//vec7有5个元素,每个元素为67
cout << "vec7的值为:" << endl;
for(auto &val: vec7)
{
cout << val << "\t";
}
cout << endl;
cout << "vec7.size = " << vec7.size() << " vec7.capacity = " << vec7.capacity() << endl;
}
int main()
{
createVectorInit();
cout << endl;
cout << "Hello World!" << endl;
return 0;
}