临时空间
临时空间具有常性,什么时候会产生临时空间呢?
1、函数传值返回
把aa拷贝给临时空间,如果是很大的对象并且进行深拷贝,消耗会很大
证明:
这是list模拟实现迭代器的==和!=重载时,while( it! = lt.end() ) 时 lt.end()传值返回产生了临时空间
2、表达式的返回值是一个临时变量
x + y
func() + 3
3、无论是强制类型转换还是隐式类型转换,都会开辟临时空间,因为不能修改原本变量的值,所以形参要加上const,因为临时空间具有常性
问题:
eax和xmm0到底算不算临时空间呢?