繁体   English   中英

在C ++中声明数组的最佳方法是什么?

[英]What is the best way to declare an array in C++?

我很好奇在C ++中使用数组的更好方法是什么?

那将会:

int array[50];

要么

int x;

cin>> x; //Input a number to initialise the array.

int array[x];

这两个中的哪一个是初始化数组的更好选择,为什么? 如果没有,那么还有第三种方式吗?

如果你想要一个静态数组(const项数),使用std::array

std::array<int,50> a;

如果你想要一个动态数组(非常数的数组),请使用std::vector

std::vector<int> a(50);

在这种情况下,您可以通过resizing大小来随时更改向量的resizing

a.resize(100);

或者只是推新物品:

a.push_back(5);

阅读更多关于std::vector 它可以为您提供超出您想象的服务。

PS你的问题的第二个代码是无效的(或至少它不是标准的)。 但是,您可以这样做:

int x;
cin>> x; //Input a number to initialise the array.
std::vector<int> array(x);

如果你在编译时知道数组的大小,并且它不会改变,那么最好的方法是:

std::array<int, 50> arr;

否则使用

std::vector<int> arr;

暂无
暂无

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

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