[英]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.