例如,我自己實現乙個字串類 cdstring ,其中有兩個運算子過載函式
c/c++ code?
1
2
cdstring & operator = (
const
cdstring& other);
cdstring operator + (
const
cdstring& other);
請問 1、兩個返回有什麼區別?
2、引數為什麼要& ,有什麼好處?
operator= 返回 cdstring &,這樣可以支援連續賦值。
const cdstring& other,引數用const引用,主要是避免引數拷貝帶來的效能損耗。
const引用型引數和過載賦值運算子時返回引用,都差不多是c++的慣用法了吧。
乙個是效率.
乙個是可以連著呼叫. (str1 = str2) = str3; 這種.
引用做引數與引用做返回值
一 引用做引數 引用做引數時,和c語言中的 傳址 是乙個道理,即通過函式來改變身處主函式中的變數。例 void fun int b int main 執行fun函式後,主函式中的整型變數a的值就變為了22,因為a和b實際上是同一處空間但是有了不同的名字。可以拓展到交換主函式中變數的值 void fu...
引用引數,引用返回值
函式形參詩引用,程式輸出如程式最後的注釋,表明引用s代表的是物件s2.函式中的引用 includeusing namespace std class sample sample sample a x a.x int getx 形參為引用 void disp sample s void disp sa...
027 C 引用做函式返回值使用
include using namespace std 通過使用引用來替代指標,會使c 程式更容易閱讀和維護。c 函式可以返回乙個引用,方式與返回乙個指標類似。當函式返回乙個引用時,則返回乙個指向返回值的隱式指標。這樣,函式就可以放在賦值語句的左邊。double values templateint...