繁体   English   中英

这两种说法有什么区别?

[英]What's difference between these two statements?

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

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

int Array[10]是一个 c 风格的数组声明,它是原始的 memory,如果你想对数组进行操作,你必须编写自己的函数。

array<int, 10> Array是一个 C++ 样式数组声明,使用std::array class 这是一个STL container

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM