本来只是想简单验证下obj a=b如何执行拷贝构造的,结果竟没有按照预定输出,使用vs community 2019,代码如下,不知道为什么输入文本就变成乱码,所以只能贴图片,原因就是vs将其中的拷贝构造优化掉了

关键是第二段,

上面的add函数中,如果不通过本地临时变量中转,编译器直接把c3的初始化移到了函数add那里,可以对比各构造函数中this和c3的地址就知道了。
c++构造函数和拷贝构造函数
博主使用vs community 2019验证C++中obj a=b的拷贝构造执行情况,未得到预定输出,输入文本变乱码,原因是vs将拷贝构造优化掉。在add函数中,若不通过本地临时变量中转,编译器会把c3的初始化移到add函数处。

被折叠的 条评论
为什么被折叠?



