[問題] 關於c++記憶體釋放的問題
不好意思
想請問一下大家
之前在書上看到
上面寫說進行動態記憶體配置只要用到new運算子
接下來都要利用delete運算子來釋放記憶體
但我剛剛在研讀c++ 當中的abstract base class時
有上網去找到一些範例
但看到其中例子覺得很奇怪
網址如下:
http://ppt.cc/!MnA
總共有兩個例子
看完後覺得很奇怪
我知道內部的
Shape* shapes [ 3 ];
是為了要準備用來指向抽象類別指標的陣列
shapes [0] = new Circle (2.0);
shapes [1] = new Rectangle (1.0, 3.0);
shapes [2] = new Rectangle (4.0, 2.0);
而這三條有用到new運算子
但沒看到程式進行記憶體釋放的動作
於是就自己在main()函數裡面加了這一條
delete[] shapes;
可是用visual studio 2005去執行時卻出現錯誤= =
沒加的時候卻可以跑
但這樣不就沒有進行記憶體釋放....
想請問一下大家為什麼
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.155.19
→
12/08 03:22, , 1F
12/08 03:22, 1F
→
12/08 03:27, , 2F
12/08 03:27, 2F
→
12/08 03:35, , 3F
12/08 03:35, 3F
→
12/08 03:35, , 4F
12/08 03:35, 4F
→
12/08 03:35, , 5F
12/08 03:35, 5F
→
12/08 03:36, , 6F
12/08 03:36, 6F
→
12/08 03:36, , 7F
12/08 03:36, 7F
→
12/08 03:36, , 8F
12/08 03:36, 8F
→
12/08 03:37, , 9F
12/08 03:37, 9F
→
12/08 03:37, , 10F
12/08 03:37, 10F
→
12/08 10:36, , 11F
12/08 10:36, 11F
推
12/08 12:11, , 12F
12/08 12:11, 12F
→
12/08 12:11, , 13F
12/08 12:11, 13F
→
12/08 12:13, , 14F
12/08 12:13, 14F
→
12/08 12:14, , 15F
12/08 12:14, 15F
→
12/08 12:14, , 16F
12/08 12:14, 16F