我知道關於指針的所有信息,而&符表示「地址」,但在這種情況下意味着什麼?在類名稱如ostream&operator <<(...)之後使用時,和號是什麼?
另外,當重載運算符時,爲什麼常用const聲明參數?
我知道關於指針的所有信息,而&符表示「地址」,但在這種情況下意味着什麼?在類名稱如ostream&operator <<(...)之後使用時,和號是什麼?
另外,當重載運算符時,爲什麼常用const聲明參數?
這意味着該變量是一個參考。它有點像指針,但不是真的。
在C++中的類型聲明,與符號的意思是 「參考」。在這種情況下,operator <<
返回對ostream
對象的引用。
因爲它實際上返回*this
它實際上是同一個ostream
對象,意味着你可以鏈接調用operator <<
,與此類似:
os << "Hello" << " " << "World" << endl;
根據&符號的上下文,它可能意味着2個不同的事物。你的具體問題的答案是它是一個參考,而不是「地址」。他們是非常不同的東西。理解差異非常重要。
之所以做出參數常量是確保它們不被功能而改變。這保證了函數的調用者不會改變它們傳入的參數。
'operator <<'大多數程序員遇到的實現都是自由函數,而不是成員函數,所以不涉及'this'。 – sbi 2009-10-15 12:24:59