関数内に何らかの変数があり、それを返したいと仮定します。
X foo(/*...*/) {
X x;
//...
return x;
}
問題が発生するケースがあるかどうかを判断しようとしていreturn std::move(x);ます。明らかxに範囲外になるので、それを維持する正当な理由はないようです。ただし、長寿命の変数を参照しているX場合の影響はわかりません。Y&
関数内に何らかの変数があり、それを返したいと仮定します。
X foo(/*...*/) {
X x;
//...
return x;
}
問題が発生するケースがあるかどうかを判断しようとしていreturn std::move(x);ます。明らかxに範囲外になるので、それを維持する正当な理由はないようです。ただし、長寿命の変数を参照しているX場合の影響はわかりません。Y&