临时对象销毁顺序的例外情况?

Bo *_*son 24 c++ c++11

阅读C++ 0x草案的第1.9/14条.在那里我发现:

在与要评估的下一个全表达式相关联的每个值计算和副作用之前,对与全表达式相关联的每个值计算和副作用进行排序.8)

脚注8说

8)如12.2中所述,在评估完整表达式之后,临时对象的析构函数的零次或多次调用的序列发生,通常以每个临时对象的构造的相反顺序发生.

"通常"是什么意思?我认为破坏的相反顺序是规则.

Mar*_*k B 24

我假设他们指的是任何临时引用的临时工具.临时的生命周期延长到参考的生命周期,而其他临时工作可能仍然被销毁.

  • 我也这么认为,12.2/5:"在同一个完整表达式中早先构建的每个临时数据被破坏之前,对一个临时生命的破坏,其生命周期没有因为被引用而被扩展." (6认同)