民國107年 第2梯次 電腦軟體設計(C++)乙級 學科
第65題
C++語言程式設計師釋放不用的記憶體空間,下列那些為正確?
題目
C++語言程式設計師釋放不用的記憶體空間,下列那些為正確?
- (1) 使用delete 來釋放記憶體
- (2) 使用System.gc()來釋放記憶體
- (3) 使用free 來釋放記憶體空間
- (4) 不用管它,編譯器會自動處理
官方答案
(1) 使用delete 來釋放記憶體、(3) 使用free 來釋放記憶體空間
解析
1. 使用 delete 釋放以 new 配置的記憶體,正確。3. 使用 free 釋放以 malloc/calloc 配置的記憶體,正確,但須與配置方式配對(new↔delete、malloc↔free)。2. System.gc() 是 Java 的垃圾回收呼叫,C++ 並無此機制,錯誤。4. 標準 C++ 沒有自動垃圾回收(除非使用智慧指標管理),若不手動釋放會造成記憶體漏失,不能不管,錯誤。故正確做法為 1、3,選 [1,3]。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。