簡體   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