码迷,mamicode.com
首页 > 编程语言 > 详细

c++Rvalue引用说明

时间:2017-10-09 14:16:59      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:转发   ror   error   not   cannot   ++   family   介绍   引用   

1.介绍

  Rvalue引用至少结决了两个问题

    1.实现移动语义

    2.完美转发

    rvalue lvalue没有明确的定义,大致定义如下:

    lvalue:可以取地址

    rvalue:不可取地址

    

 // lvalues:
  //
  int i = 42;
  i = 43; // ok, i is an lvalue
  int* p = &i; // ok, i is an lvalue
  int& foo();
  foo() = 42; // ok, foo() is an lvalue
  int* p1 = &foo(); // ok, foo() is an lvalue

  // rvalues:
  //
  int foobar();
  int j = 0;
  j = foobar(); // ok, foobar() is an rvalue
  int* p2 = &foobar(); // error, cannot take the address of an rvalue
  j = 42; // ok, 42 is an rvalue
2.移动语义


c++Rvalue引用说明

标签:转发   ror   error   not   cannot   ++   family   介绍   引用   

原文地址:http://www.cnblogs.com/invisible2/p/7640564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!