これらの2つの前のスレッドを例として使用する
最初のスレッド: オーバーロードされた代入演算子がクラスへの参照を返すのはなぜですか?
2番目のスレッド: コピー代入演算子が参照/定数参照を返さなければならないのはなぜですか?
オーバーロードされた代入演算子の戻り型はクラスですか、それともクラスへの参照ですか?私は両方を見ました:
Point& Point::operator = (const Point& sourcePoint)
{
// As in the first thread I pasted above
return *this;
}
と
Point Point::operator = (const Point& sourcePoint)
{
// As in the second thread I pasted above
return *this;
}
どちらが正しいですか?
同様に、次の違いは何ですか。
int exFunction()
{
int i = 5;
int* iPtr = &i;
return *iPtr;
}
対:
int& exFunction2()
{
int j = 5;
int* jPtr = &j;
return *jPtr;
}
ありがとう!