C++很神奇的內存管理, 一不小心, 弄了半天就是找不出問題, 看似沒有問題, 其實還是有問題的, 頭疼.
還有, 如果一個指針沒有初始化, 就使用delete釋放掉, 程序也很可能會隨機的出現異常退出, 也不知道什么時候會出現. 不過delete 釋放0指針是不存在危險的.
MarkDialog::~MarkDialog() {
delete ui;
delete totalMarksModel;
delete totalMarksModel; // totalMarksModel被釋放了兩次, 程序在退出的時候發生異常
delete serviceNodeDAO;
}
MarkDialog::~MarkDialog() {
delete ui;
delete totalMarksModel;
delete detailMarksModel; // 改成這樣程序就能正常退出了.
delete serviceNodeDAO;
}