我有一個類,其中它是受保護的部分我需要聲明一個未知大小的數組(大小作爲參數給予構造函數),所以我環顧四周,發現出,最好的可能的解決方案是聲明指針數組,每個元件指向整數:指針數組和指針指向一個數組在C++
int* some_array_;
和簡單地在構造我將使用「新」的操作符:
some_array_ = new int[size];
它的工作原理,我的問題是:我可以在沒有定義si的情況下在類中聲明一個數組澤?如果是的話,我該怎麼做,如果沒有,那麼爲什麼它的指針而不是一個正常的數組?
編輯:我知道vecotrs會解決這個問題,但我不能在我的HW
你可能不想保護數據 - 它幾乎總是一個壞主意。並使用std :: vector,而不是一個顯式動態分配的數組。 –
有兩種定義數組的方法... 1.在編譯int Name [10]時定義的大小,然後在堆棧中...您不需要delete命令,因爲它會自動刪除當你走出這個空間時。 2.一個動態數組int * Name = new int [n],然後它在堆上。所以它會一直持續到你說delete []名稱 – Thomas
'some_array_'不是一個指針數組,它是一個指向數組第一個元素的指針。一個指針數組是'int * x [size]';一個指向數組'int(* x)[size]'的指針。 – molbdnilo