array是C++11新增加的一个容器,他可以类似于数组,但比数组安全,array的创建,初始化操作有多种方式,并且还可以使用get进行赋值操作,下面来看下具体的代码:
#include <iostream>
#include <array>
#include <time.h>
using namespace std;
void createArrayInit()
{
//1.创建空array1
array<int, 0> array1;
cout << "array1.isEmpty = " << array1.empty() << " array1.size = " << array1.size() << " array1.max_size = " << array1.max_size()<< endl;
//2.创建array2有2个元素,值为随机值
array<int, 2> array2;
cout << "array2.isEmpty = " << array2.empty() << " array2.size = " << array2.size() << " array2.max_size = " << array2.max_size()<< endl;
cout << "array2的值为:" << endl;
for(auto &val: array2)
{
cout << val << "\t";
}
cout << endl;
//3.创建array3有3个元素,分别为23, 56, 18
array<int, 3> array3 = {23, 56, 18};
cout << "array3.isEmpty = " << array3.empty() << " array3.size = " << array3.size() << " array3.max_size = " << array3.max_size()<< endl;
cout << "array3的值为:" << endl;
for(auto &val: array3)
{
cout << val << "\t";
}
cout << endl;
//4.创建array4,用array3赋值
array<int, 3> array4 = array3;
//array<int, 3> array4(array3);//这两种方法都可以
cout << "array4.isEmpty = " << array4.empty() << " array4.size = " << array4.size() << " array4.max_size = " << array4.max_size()<< endl;
cout << "array4的值为:" << endl;
for(auto &val: array4)
{
cout << val << "\t";
}
cout << endl;
//5.使用get对array2进行赋值
std::get<0>(array2) = 72;
std::get<1>(array2) = 51;
cout << "array2的值为:" << std::get<0>(array2) << "\t" << std::get<1>(array2) << endl;
//6.创建array5用部分元素初始化为2,其它值为0
array<int, 5> array5 = {2, 2};
cout << "array5的值为:" << endl;
for(auto &val: array5)
{
cout << val << "\t";
}
cout << endl;
}
int main()
{
createArrayInit();
cout << endl;
cout << "Hello world" << endl;
return 0;
}
运行结果: