首先,我想讓大家放心,因爲我好奇地問了這個問題。我的意思是,不要告訴我,如果我需要這個,那麼我的設計就會有問題,因爲我不需要真正的代碼。希望我相信你現在:)的問題:是否可以在C++中動態創建一個常量大小的數組?
對於大多數類型難道我們可以寫
T* p = new T;
現在如果有什麼T是數組類型?
int (*p)[3] = new ???; //pointer to array of 3 = new ???
我嘗試這樣做:
typedef int arr[3];
arr* p = new arr;
但這不起作用。
有沒有任何有效的語法,或者在C++中是不可能的。如果不可能,那爲什麼?由於
編輯:我猜測我是不太清楚。我希望能夠在這種情況下使用它:
void f(int(&)[3]);
int (*p)[3] = new ???;
f(*p);
如果我理解正確的話,你想知道C++是否有一種方法來「推斷」數組的大小,而不必在分配中明確指定它? – 2011-03-17 13:56:33
@oakley:不太清楚:我問T是一個數組類型(具有編譯時已知維數)時是否使用'T * p = mew T;'語法 – 2011-03-17 13:58:08