首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ 運算符重載:成員函數後的 const 含義

     編輯:程式設計綜合問答

代碼片段


bool operator < (const xx& x) const { ... }

兩個 const 解析

  1. 參數 const xx& x:參數為常量引用,函數體內不可修改 x,避免拷貝開銷且保證只讀。
  2. 函數後 const:常量成員函數,承諾不修改調用對象(this 指向的對象)的任何非可變成員。
    編譯器將 this 類型從 X* const 變為 const X* const。

為什麼需要雙重 const

  • 參數 const:允許傳入臨時對象、常量對象,語義明確。
  • 成員函數 const:使該運算符可用於 const xx 對象,符合邏輯比較不修改對象的直覺。

最佳回答

兩個const參數中的那個說明參數本身是常量,不能修改。後面那個表示,這個函數不會修改任何對象實例中的成員。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved