这两个语句之间有什么区别?

时间:2019-09-22 17:37:50

标签: c++ arrays stl

这个问题似乎很简单,但我找不到任何答案。那么,int Array[10]array<int, 10> Array有什么区别?

2 个答案:

答案 0 :(得分:0)

在C ++中,有许多种创建数组的方法。 int Array[10];将创建一个类似于C数组的数组。这意味着存在很多固有的内存问题。 array<int, 10> Array;是前一个数组的C ++包装,并消除了内存问题。此外,C ++版本更擅长进行迭代,边界检查和其他一些次要功能。尽管他们俩最终都会做同样的事情,除非您正在做特别需要C数组的事情,否则我会选择C ++,它将为您省去很多麻烦。

答案 1 :(得分:0)

int Array[10]是一种c样式的数组声明,它声明原始内存,如果要在数组上进行操作,则必须编写自己的函数。

array<int, 10> Array是使用std::array类(是STL container)的C ++样式数组声明。

后面提供了许多对数组进行操作的预定义方法,例如,要找出数组中有多少个元素,您只需说Array.size()。但是,对于前者,您可能必须编写自己的函数以遍历数组以找出大小。