C++11 - 右值引用

临时空间

临时空间具有常性,什么时候会产生临时空间呢?

1、函数传值返回

把aa拷贝给临时空间,如果是很大的对象并且进行深拷贝,消耗会很大

证明:

这是list模拟实现迭代器的==和!=重载时,while( it! = lt.end() ) 时 lt.end()传值返回产生了临时空间

2、表达式的返回值是一个临时变量

x + y

func() + 3

3、无论是强制类型转换还是隐式类型转换,都会开辟临时空间,因为不能修改原本变量的值,所以形参要加上const,因为临时空间具有常性

问题:

eax和xmm0到底算不算临时空间呢?

相关推荐
byte轻骑兵4 小时前
【C++特殊工具与技术】优化内存分配(四):定位new表达式、类特定的new、delete表达式
开发语言·c++
广州正荣4 小时前
成绩管理革新者:C++驱动的智能数据处理平台
c++·人工智能·科技
90wunch5 小时前
对象回调初步研究
c++·windows·安全
Se_ren_di_pity5 小时前
C++ STL容器汇总
开发语言·c++
Wendy_robot5 小时前
【零基础勇闯嵌入式岗】从单片机低功耗中获得的启发
c++·单片机·嵌入式硬件
lul~8 小时前
[科研理论]无人机底层控制算法PID、LQR、MPC解析
c++·人工智能·无人机
我命由我123459 小时前
STM32 开发 - 中断案例(中断概述、STM32 的中断、NVIC 嵌套向量中断控制器、外部中断配置寄存器组、EXTI 外部中断控制器、实例实操)
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·嵌入式
CodeWithMe10 小时前
【软件开发】上位机 & 下位机概念
c++
luofeiju10 小时前
数字图像处理与OpenCV初探
c++·图像处理·python·opencv·计算机视觉
whoarethenext10 小时前
使用 C/C++的OpenCV 将多张图片合成为视频
c语言·c++·opencv