C++11 - 右值引用

临时空间

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

1、函数传值返回

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

证明:

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

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

x + y

func() + 3

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

问题:

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

相关推荐
秦苒&几秒前
【C语言指针一】从入门到通透:核心知识点全梳理(内存、变量、运算、const修饰)
c语言·开发语言·c++
蓑衣夜行3 分钟前
QtWebEngine 自动重启方案
开发语言·c++·qt·web·qwebengine
Source.Liu6 分钟前
【LibreCAD】点实体源码解析
c++·qt·cad
煤球王子30 分钟前
学而时习之:C++中的标准模板库7
c++
一匹电信狗32 分钟前
【Linux我做主】进程实践:手动实现Shell
linux·运维·服务器·c++·ubuntu·小程序·开源
stanleyrain35 分钟前
C++中关于const的说明
开发语言·c++
一个不知名程序员www41 分钟前
算法学习入门---stack(C++)
c++·算法
oioihoii1 小时前
MFC核心架构深度解析
c++·架构·mfc
清风拂山岗 明月照大江1 小时前
TCP/IP网络编程_hello,world!
开发语言·c++
兵哥工控1 小时前
MFC 对话框线程简单完整实例
c++·mfc·线程·afxbeginthread