C++有一种大小固定的特殊容器std::array,这个容器在<array>头文件中定义。它基本上是对C风格的数组进行了简单包装。

用std::array替代C风格的数组会带来很多好处。它总是知道自身的大小;不会自动转换为指针,从而避免了某些类型的bug;具有迭代器,可以方便地遍历元素。

array 容器的用法

array<int,3> ,第一个参数表示数组中元素的类型,第二个表示数组的大小。

#include <iostream>

#include <array>

using namespace std;

int main()

{

    array<int, 3> arr = {9,8,7};

   cout <<"Array size = "<< arr.size() << endl;

   cout << "Element 2 = "<<arr[1] << endl;

   return 0;

}

注意:C风格的数组和std::array 都具有固定的大小,在编译时必须知道这一点。在运行时数组不会增大或缩小。

如果希望数组的大小是动态的,推荐使用std::Vector 。在vector中添加新元素时,vector 会自动增加其大小。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐