7(内存管理)(上)(了解)

这块了解就行:

构造加拷贝构造优化成构造这种就不行,类型转换会生成临时对象,会合二为一吗不能,中间只有构造,那是个引用。下面是正常,上面是优化

这种构造完,再拷贝构造,不连续,不优化我们想减少拷贝构造就用引用

我如果直接用一个匿名对象

构造加拷贝构造优化成直接构造

1能给给A,得益于A有 单参数构造函数,走的隐式类型转换,1构造了一个临时对象再用临时对象拷贝构造,优化了直接构造,有可能有些编译器第一个也优化,

接下来看看传返回值,传值传参返回会产生一个临时对象

这是一个构造加一个拷贝构造

懒得接收,这调用这个函数会生成临时对象

Print调用之前 有个析构aa析构,调用Print的是临时对象

这生成临时对象,没生成aa

调用完Print之后发生析构,临时对象的生命周期是这一行,没有生成aa,aa析构应该在Print之前,把aa省掉了,直接用1构造临时对象。

临时对象匿名对象生命周期都在那一行,

我重载一个前置 ++看他优不优化

这是之前的没++用1构造了一个临时对象,临时对象PRint,现在看看有没有那么大胆,合了这两个

编译器优化还是很激进的,

优化后不仅省掉AA,临时对象省掉。构造,拷贝构造,拷贝构造和三位一。

这是构造,拷贝构造,构造,赋值,分离的过程,

这样三个对象一个没省,release下

相关推荐
A星空12315 分钟前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
凡人叶枫37 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
会叫的恐龙1 小时前
C++ 核心知识点汇总(第六日)(字符串)
c++·算法·字符串
小糯米6011 小时前
C++顺序表和vector
开发语言·c++·算法
独望漫天星辰1 小时前
C++ 多态深度解析:从语法规则到底层实现(附实战验证代码)
开发语言·c++
王老师青少年编程2 小时前
2024年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第3题)
c++·题解·真题·csp·信奥赛·csp-s·提高组
凡人叶枫2 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
CSDN_RTKLIB2 小时前
使用三方库头文件未使用导出符号情景
c++
rainbow68894 小时前
Linux文件描述符与重定向原理
c++
CodeSheep程序羊4 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展