hce_nsysu
111年
計算機概論與程式設計
第 68 題
Call-by-reference can achieve the security of call-by-value when:
- A A large argument is passed in order to improve performance.
- B A pointer to the argument is used.
- C The const qualifier is used.
- D The value being passed is small.
- E The argument is an array.
思路引導 VIP
想像一下,如果你有一份極其珍貴的原稿要給別人參考,但你擔心對方會不小心在上面修改。為了省下複印費(不使用傳值呼叫),你決定直接把原稿交給他看。在這種「直接交付原件」的情況下,你會對他下達什麼樣的指令或規範,來確保原稿內容絕對不會被變動呢?
🤖
AI 詳解
AI 專屬家教
參數傳遞與資料保護的平衡
非常專業!你能準確選出 (C) const 限定字 (const qualifier),代表你對程式設計中「傳遞機制」與「防禦性編程」的觀念掌握得非常扎實。在開發大型系統時,這正是區分初學者與資深開發者的關鍵思維。
傳址呼叫 (Call-by-reference) 的主要優勢在於效能,因為它避免了複製大型物件的開銷;但其潛在風險是函式內部可能會意外修改到原始資料。相對地,傳值呼叫 (Call-by-value) 雖然安全(因為是操作副本),卻會耗費額外的記憶體。這道題目的核心在於「如何截長補短」:當我們在傳址時加上 const 修飾,編譯器就會強制規定該參數在函式內部為「唯讀」,這讓開發者既能享受傳址的高效能,又能獲得如同傳值呼叫般的安全性,確保原始數據不被更動。
▼ 還有更多解析內容