看到這個問題Is there a way to initialize an array with non-constant variables? (C++)
簡短的回答是不,你不能直接這樣做。然而,你可以得到的東西,如
int arraySize = 10;
int * myArray = new int[arraySize];
現在myArray
同樣的效果是一個指針數組,你可以像喜歡myArray[0]
數組等
你也可以使用一個向量訪問這將允許你有一個可變長度的數組。我的例子允許你創建一個帶有變量initailizer的數組,然而在我的例子中,myArray
只有10個項目。如果您不確定陣列使用矢量的時間有多長,並且您可以推送和放棄項目。
也請記住我的例子,因爲你已經dyanmically分配的內存,您將需要釋放內存當你在做類似
delete[] myArray;
與陣列做這裏是一個小示例應用程序以說明這一點
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int arraySize = 10;
int * myArray = new int[arraySize];
myArray[0] = 1;
cout << myArray[0] << endl;
delete[] myArray;
}
可變長度數組不是在C++支持。它只是一個編譯器擴展,如果它在其他平臺上編譯的話。 – Mahesh 2012-04-06 15:02:26
[有沒有辦法用非常量變量初始化一個數組? (C++)](http://stackoverflow.com/questions/972705/is-there-a-way-to-initialize-an-array-with-non-constant-variables-c) – 2012-04-06 15:05:22