amazzzzzing

导航

rvalue

右值和右值引用

ref

https://en.cppreference.com/w/cpp/language/reference

https://www.cnblogs.com/KillerAery/p/12802771.html

左值和右值

  • 左值:表达式结束之后仍然存在的持久对象;
  • 右值:表达式结束后就不存在的临时对象;

右值引用的来源

临时对象作为参数传值的一些问题

考虑形式如 push(Object()) 的写法。这里 push 不能写成 push(Object &) ,因此函数中如果要修改这个对象,则必然存在拷贝。如果写成 push(Object &&) ,则临时对象就会被转移到函数内,就不需要拷贝了。

右值引用和左值引用构成了重载关系

std::move

std::ref

posted on 2024-03-11 12:29  amazzzzzing  阅读(17)  评论(0)    收藏  举报