C++函數返回值為const


C++函數返回值為const

令函數返回值為const,往往可以降低因用戶錯誤而造成的意外,而又不至於放棄安全性和高效性。

class Rational {...};
class Rational operator* (const Rational &lhs, const Rational &rhs);
Rational a, b, c
(a * b) = c    // 在 a*b的成果上調用operator=。這句話會報錯誤。
  1. 函數返回值為const時候,代表返回的值不能修改,變成了右值即臨時對象。
  2. 將c賦值給(a*b), 相當於賦值給了右值(臨時對象),編譯器不予許。
  3. 當類的賦值構造函數時,即 a=b=c, 此時禁止返回為const,因為a=b當做左值才能進行賦值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM