C++11 - 右值引用

临时空间

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

1、函数传值返回

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

证明:

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

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

x + y

func() + 3

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

问题:

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

相关推荐
编啊编程啊程3 小时前
JUC之AQS
java·开发语言·jvm·c++·kafka
jingfeng5146 小时前
C++模板进阶
java·c++·算法
头发掉光的程序员6 小时前
第七章 利用Direct3D绘制几何体
c++·windows·图形渲染·direct12
重启的码农11 小时前
llama.cpp 分布式推理介绍(7) 远程后端缓冲区 (RPC Buffer)
c++·人工智能·神经网络
Vect__11 小时前
链表漫游指南:C++ 指针操作的艺术与实践
数据结构·c++·链表
saltymilk12 小时前
C++ 使用分治减小模板递归深度
c++
悠哉清闲13 小时前
C ++代码学习笔记(一)
c++·笔记·学习
YxVoyager14 小时前
【C标准库】详解<stdio.h>标准输入输出库
c语言·c++
希望_睿智14 小时前
实战设计模式之解释器模式
c++·设计模式·架构
海鸥_15 小时前
C++中不加{}导致的BUG
c++·bug