1
我有這樣的代碼:數組類 - 刪除OPS
Derived **args = new Derived*[2];
args[0] = new Derived();
args[0]->setname("BLABLA \n");
cout << args[0]->getname();
delete args[0];
args[1] = new Derived();
args[1]->setname("BLABLABLA\n");
cout << args[1]->getname();
delete args[1];
delete [] args;
是否需要delete [] args
?爲什麼?
另外,Derived **args = new Derived*[2]
真的做了什麼?是否爲Derived
分配兩個指針的空間?如果是這樣,那麼我該如何動態創建一個包含2個Derived類型的對象的數組?
@SteveWellens:具體來說,它釋放指針數組,但肯定會__not__釋放指針指向的對象。 – Blastfurnace
對,我剛剛刪除了我的評論。 –
你是什麼意思「它分配兩個指向Derived的空間」?所以基本上我只是創建了一個大小爲2的數組,其中包含指向Derived類型對象的指針?如果是這樣,那麼我該如何動態創建一個包含2個Derived類型的對象的數組? – Kam