民國107年 第2梯次 電腦軟體設計(C++)乙級 學科

第65題

C++語言程式設計師釋放不用的記憶體空間,下列那些為正確?

題目

C++語言程式設計師釋放不用的記憶體空間,下列那些為正確?

  1. (1) 使用delete 來釋放記憶體
  2. (2) 使用System.gc()來釋放記憶體
  3. (3) 使用free 來釋放記憶體空間
  4. (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料