次の関数を検討してください。C++17の回答が欲しいです。
MyClass&& func() {
return MyClass{};
}
int main() {
MyClass&& myRef = func();
}
質問:
- 式
func()
は xvalue ですか? なんで? myRef
ダングリング リファレンスとはなぜですか? または、より具体的にはfunc()
、ダングリング参照を返すのはなぜですか? 右辺値参照を返すと、一時的な具体化が発生し、一時オブジェクトの有効期間が延長されませんか?