可能重复:
C++中临时的保证寿命?
临时的一生
当从重载operator+方法返回时,我有一个关于临时对象的生命周期的快速问题.例如,如果表达式......
a = b + c + d + e
Run Code Online (Sandbox Code Playgroud)
...是通过重载operator+方法返回临时对象来评估的,是b + c整个表达式的子表达式返回的临时范围?
由于g ++似乎保留在所有临时值上,而整个表达式都在范围内,因此可以在a =赋值期间对这些值进行延迟评估.
有人可以确认是否所有C++实现都能保证这种行为?