万事不决看汇编!debug模式下编译一下看看汇编就知道了。汇编面前,源代码无秘密(当然,汇编是特定于编译器的,各编译器的实现可能有差异)
另外一招就是在debugger中step into。当然,你搞的printf也可以。
肯定是先在栈上构造对象,然后调用operator int()成员函数。
可以看看这个的Q1、Q2:
https://herbsutter.com/2008/01/01/gotw-88-a-candidate-for-the-most-important-const/
普通情况:临时对象超出其所在的表达式范围就无效了(被析构了)
例外情况:临时对象被绑定到一个const &,此时临时对象的生命周期和const &绑定的一样长。
【 在 hyperLee 的大作中提到: 】
: 比如下面的代码
: struct FO
: {
: ...................
--
修改:z16166 FROM 125.33.227.*
FROM 125.33.227.*