读书人

C++临时对象生存周期解决思路

发布时间: 2012-02-16 21:30:36 作者: rapoo

C++临时对象生存周期
《深度探索C++对象模型》P275上说:

如果一个临时性对象被绑定于一个reference,对象将残留,直到被初始化之reference的生命结束,或直到临时对象的生命范畴(scope)结束——视哪一种情况先到达而定。

这里的“reference的生命结束”和“临时对象的生命范畴(scope)结束”有什么区别?感觉说的是一样的。谁能针对这两种情况,举两个例子?



还是说只要临时对象绑定到引用了,则临时对象的析构就发生在引用的生命结束时?

[解决办法]
“reference的生命结束”

const A& a = B();

“临时对象的生命范畴(scope)结束”

cout << f(A()) << f(B()) << endl;

[解决办法]

C/C++ code
cout  << f(A())  << f(B())  < < endl; 

读书人网 >C++

热点推荐