C++11 - 右值引用

临时空间

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

1、函数传值返回

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

证明:

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

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

x + y

func() + 3

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

问题:

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

相关推荐
云知谷36 分钟前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
仰泳的熊猫1 小时前
LeetCode:785. 判断二分图
数据结构·c++·算法·leetcode
^Moon^1 小时前
CycloneDDS:跨主机多进程通信全解析
c++·分布式·dds
C_Liu_3 小时前
C++:list
开发语言·c++
my rainy days3 小时前
C++:友元
开发语言·c++·算法
鄃鳕4 小时前
python 字典 列表 类比c++【python】
c++·python
保持低旋律节奏5 小时前
C++——list链表
c++·链表·list
2401_841495646 小时前
【数据结构】基于Floyd算法的最短路径求解
java·数据结构·c++·python·算法··floyd
纵有疾風起7 小时前
C++模版:模板初阶及STL简介
开发语言·c++·经验分享·开源
QT 小鲜肉7 小时前
【个人成长笔记】Qt Creator快捷键终极指南:从入门到精通
开发语言·c++·笔记·qt·学习·学习方法