Tag: 拷贝交换

什么是复制elision,它是如何优化复制和交换的习惯用法?

我正在阅读复制和交换 。 我尝试阅读Copy Elision上的一些链接,但无法正确理解它的含义。 有人可以解释一下这个优化是什么,特别是下面的文字是什么意思 这不仅仅是一个方便的问题,实际上是一个优化。 如果参数绑定到一个左值(另一个非const对象),则在创build参数时会自动创build该对象的副本。 但是,当s绑定到右值(临时对象,文字)时,副本通常会被省略,从而保存对复制构造函数和析构函数的调用。 在参数接受为常量引用的赋值运算符的早期版本中,当引用绑定到右值时,复制elision不会发生。 这导致一个额外的对象被创build和销毁。