C++11 - 右值引用

临时空间

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

1、函数传值返回

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

证明:

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

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

x + y

func() + 3

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

问题:

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

相关推荐
爱吃生蚝的于勒2 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法
小白学大数据4 小时前
Python爬虫开发中的分析与方案制定
开发语言·c++·爬虫·python
versatile_zpc6 小时前
C++初阶:类和对象(上)
开发语言·c++
小鱼仙官6 小时前
MFC IDC_STATIC控件嵌入一个DIALOG界面
c++·mfc
神仙别闹6 小时前
基本MFC类框架的俄罗斯方块游戏
c++·游戏·mfc
娅娅梨7 小时前
C++ 错题本--not found for architecture x86_64 问题
开发语言·c++
兵哥工控7 小时前
MFC工控项目实例二十九主对话框调用子对话框设定参数值
c++·mfc
我爱工作&工作love我7 小时前
1435:【例题3】曲线 一本通 代替三分
c++·算法
娃娃丢没有坏心思8 小时前
C++20 概念与约束(2)—— 初识概念与约束
c语言·c++·现代c++
lexusv8ls600h8 小时前
探索 C++20:C++ 的新纪元
c++·c++20