take 两个 can family error ror 地址 至少 ann
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引用说明
来源: http://www.bubuko.com/infodetail-2342944.html