c++对“匿名对象”的两种处理方法

1.对于语句:class A; A="匿名对象";待对象A把"匿名对象"的数据复制过来后,“匿名对象被释放”

运行结果:

从执行结果可以看出,fun()函数内的p和main()函数中的p1地址不同,且有两次构造和两次析构,证实了上面的说法。

2.对于语句:class A="匿名对象";匿名对象被直接“扶正”,不被释放

运行结果:

由上面执行结果可知,fun()函数内的对象p的内存空间并未释放,而是与man()函数内的p1关联,这是编译器做了优化。

猜你喜欢

转载自blog.csdn.net/m0_37829435/article/details/81349967