参考https://www.jianshu.com/p/d19fc8447eaa
1.
左值:具名、能取地址、生命周期较长
右值:匿名、不能取地址、马上将要消失,如字面值1、“hello”、临时变量A()等
2.
对于参数类型:
A&:只能接受左值,可以修改这个引用
const A&:左值右值都能接受,但不能修改这个引用
A&&:只能接受右值,可以修改这个引用
3.右值引用主要解决这个问题:
class string{
char* data;
string(const string& s){
data = (