関数内に何らかの変数があり、それを返したいと仮定します。
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&