如何评价 C++11 的右值引用(Rvalue reference)特性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何评价 C++11 的右值引用(Rvalue reference)特性?相关的知识,希望对你有一定的参考价值。

参考技术A

在C++中,有一个左值(lvalue)是一个数量可以得到它的地址。由于经常出现在赋值语句的左边,所以称为左值。传统的C++参考是左值引用。C++ 11,一个新的右值引用的概念。

      

首先我们来看看什么是所谓的右值。可以说,所有不是左值右值的量。例如,一个文本、一个临时对象或一个临时值(无法获得地址的数量)。右值引用,是参考一个右值。特别地,这是一个当右值是一个临时对象时使用的概念

将右值关联到右值引用将导致该右值被存储到特定的位置,且可以获取该位置的地址。 右值引用的目的是提供一些涉及临时对象时可以选用特定的方法。由于知道临时对象会被销毁,通过右值引用,某些涉及复制大量数据的操作可以通过简单地复制指向这些值的指针来实现。

所以,右值引用更加适合应用,右值引用意在解决栈区对象的所有权转移问题。在实际应用中有更好的应用。

以上是关于如何评价 C++11 的右值引用(Rvalue reference)特性?的主要内容,如果未能解决你的问题,请参考以下文章

c++的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)

c++11的右值引用移动语义

C++11的右值引用移动语义(std::move)和完美转发(std::forward)详解

[转][c++11]我理解的右值引用移动语义和完美转发

C++11:左值右值左值引用右值引用

C++11:左值右值左值引用右值引用