jingyixx
蛋蛋包子

蛋蛋包子 发表于 2013-7-20 04:49

超☆感☆謝大神

不過關於第五個,我是測試出來是那幾個constructor。

之後我查了查書,然後大概只有一個c ...

不拷贝直接assign我能理解,奇怪的是前面有个dtor

在这个dtor前面总共创建了3个对象,thing,another和foo参数表种的anobj

这个dtor显然不能是thing和another的,这两个还在scope中

这么一来只能是anobj的了,但是如果anobj被析构了下面的assign怎么进行呢

编译器直接优化成 another=thing好像是唯一的解释了,但是后面的dtor是怎么回事情,assignment不该产生临时对象啊

PS 你用的是VC++ ?