線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1292
推到 Plurk!
推到 Facebook!

為何動態宣告刪除後,記憶體容量依在...

答題得分者是:lu
s9515603
一般會員


發表:2
回覆:1
積分:5
註冊:2007-12-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-02-20 13:43:06 IP:163.17.xxx.xxx 訂閱
我將以下程式寫在 button 裡面


[code cpp]
main
{
if(ActiveMDIChild)
{
TMDIChild* TheChild;
TheChild=(TMDIChild*)ActiveMDIChild;

int X_SIZE=512;
int Y_SIZE=512;
double *in = new double[X_SIZE*Y_SIZE];

... 中間程式間的運算就不贅述了

delete in;
}
}
[/code]

程式如上,我刪除的方式錯誤嗎?

為何每次執行一次就會不斷的佔用新的記憶體區塊呢?

我用windows的工作管理員觀察,每執行一次記憶體佔用 619...620....630 不停的重新佔用。

必須等到整支程式關閉才會在釋放,請幫忙解難一下,謝謝各位大大。

是重態矩陣的關係,還是重新抓取MDI Form的關系呢?
------
我最愛寫程式
lu
高階會員


發表:11
回覆:189
積分:195
註冊:2003-11-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-02-20 18:00:05 IP:203.73.xxx.xxx 訂閱
根據 C++ 正確的寫法,應該是 

[code cpp]
double *in = new double[X_SIZE*Y_SIZE];

delete []
in;
[/code]




===================引 用 s9515603 文 章===================
我將以下程式寫在 button 裡面


[code cpp]
main
{
if(ActiveMDIChild)
{
TMDIChild* TheChild;
TheChild=(TMDIChild*)ActiveMDIChild;

int X_SIZE=512;
int Y_SIZE=512;
double *in = new double[X_SIZE*Y_SIZE];

... 中間程式間的運算就不贅述了

delete in;
}
}
[/code]

程式如上,我刪除的方式錯誤嗎?

為何每次執行一次就會不斷的佔用新的記憶體區塊呢?

我用windows的工作管理員觀察,每執行一次記憶體佔用 619...620....630 不停的重新佔用。

必須等到整支程式關閉才會在釋放,請幫忙解難一下,謝謝各位大大。

是重態矩陣的關係,還是重新抓取MDI Form的關系呢?
編輯記錄
lu 重新編輯於 2008-02-25 15:27:42, 註解 無‧
系統時間:2024-03-29 10:15:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!