这个问题似乎很简单,但我找不到任何答案。那么,int Array[10]
和array<int, 10> Array
有什么区别?
答案 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()
。但是,对于前者,您可能必须编写自己的函数以遍历数组以找出大小。