C++11 - 右值引用

临时空间

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

1、函数传值返回

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

证明:

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

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

x + y

func() + 3

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

问题:

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

相关推荐
小灰灰爱代码2 小时前
C++——求3*3矩阵对角元素之和。
数据结构·c++·算法
老K(郭云开)2 小时前
allWebPlugin中间件自定义alert、confirm及prompt使用
c++·chrome·中间件·prompt·html5·edge浏览器
福鸦5 小时前
详解c++:new和delete
开发语言·c++
createcrystal5 小时前
《算法笔记》例题解析 第3章入门模拟--3图形输出(9题)2021-03-03
c++·笔记·算法
tan77º7 小时前
【C++】异常
c++·算法
薛文旺7 小时前
c++可视化打印树
开发语言·c++
DogDaoDao8 小时前
Windows 环境下 vscode 配置 C/C++ 环境
c语言·c++·windows·vscode·gcc·mingw-w64
q4725994518 小时前
OpenGL 原生库6 坐标系统
c++
Once_day8 小时前
C++(2)进阶语法
c++
vczxh8 小时前
c++ templates常用函数
开发语言·c++