延长对象的生命周期

时间:2010-10-12 18:48:22

标签: c++

fnc会像这样延长返回对象的生命周期吗?如果没有,有没有办法这样做?

 const int& f () //<<----Here you see, I'm returning by ref to const int
 {
     return 1;
 }

2 个答案:

答案 0 :(得分:2)

不,它不会延长对象的生命周期。

你不能延长临时的生命周期(创建临时用于绑定到引用),但是,你可以简单地做到

int f() { return 1; }

: - )

干杯&amp;第h。,

- Alf

答案 1 :(得分:2)

我认为这不会编译(使用常量),但是如果你得到类似的东西,它会因未定义的行为而失败运行时。

它将延长任何生命周期,因此您将ref返回到不再存在的var / const。