私はC++について、より正確には演算子のオーバーロードについての本を読んでいます。
例は次のとおりです。
const Array &Array::operator=(const Array &right)
{
// check self-assignment
// if not self- assignment do the copying
return *this; //enables x=y=z
}
refの代わりにconstrefを返すことについての本によって提供される説明は、(x = y)=zのような割り当てを避けることです。なぜこれを避けるべきなのか分かりません。この例ではx=yが最初に評価され、const参照が返されるため、=z部分を実行できないことを理解しています。しかし、なぜ?