为什么std::move( )的返回值可以赋值给右值引用

int &&r1 = 32;
int &&r3 = r1; //r1是左值,错误
int &&r2 = std::move(r1);//返回值是int &&,没问题

如上,同样是int &&,为什么move()赋值给右值引用就不会出问题?

阅读 4.6k
1 个回答

第一行,r1已经是左值了,因为已经有了名字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题