在C++中,是否可以在程序運行時創建一個新數組?具體來說,假設我有一個類中的數據成員,變量的名稱是數組,這是一個數組大小爲10.假設在運行期間我想要一個更大的數組,我可以不使用指針嗎?我可以有如下方法嗎?在沒有指針的情況下隨時隨地獲取更多內存
int[] expandCapacity(int currentCapacity) {
int [] arr = new int[currentCapacity*2];
currentCapacity*=2;
return arr;
}
爲什麼我不能用這個方法說來擴大現有的磁盤陣列的容量:
currentCapacity = 10;
array = expandCapacity (currentCapacity);
如果一切正常,就沒有必要使用指針。我覺得我在這裏失去了一些至關重要的東西。如果你能指出我缺少的東西,我會很感激。
甚至像'std :: vector'這樣的容器在內部使用指針。沒有繞過他們。 – chris
這只是一個智力練習,還是有你想解決的問題? – Stefan
此外,與「在編譯時處理未知大小的內存塊」相比,還需要指針。考慮到,例如,按子類型多態。返回T的子類實例的函數必須返回T *。 – akappa