我看到,在C++中的很多例子中,運算符重載獲取作爲參數的類實例通過引用傳遞,或者如果它返回一個類實例,它也通過引用返回它。爲什麼人們選擇通過引用來傳遞它,而傳遞一個指針/按值的原因是否也有用? 舉例:運算符重載傳遞和返回的參數
Class MyClass
{
public:
int m_num;
MyClass() { m_num = 1;}
const MyClass operator+(const MyClass& mcls)
{
MyClass temp;
temp = m_num + mcls.m_num;
return temp;
}
}
假設我們重載=運算符。
因此,例如我寫的代碼,向運算符+重載函數發送參數而不是通過引用AND ALSO返回一個MyClass的實例,而不是通過引用將工作,但我看到它的很多例子它通過並返回參考,我想知道是否有這個背後的原因,或者它只是某種類型的約定或者可能是偏好?
返回一個const引用並不是真的很好。檢查你應該有的警告。 – chris 2014-09-26 01:51:25
介意解釋你在說什麼更深入?並解決我的主要問題 – 2014-09-26 01:53:53
@ Tugal.44,http://coliru.stacked-crooked.com/a/824e82a5c9e1cf8c – chris 2014-09-26 01:55:16