右值引用之前看过不少次了,但过一段时间就忘了,这里简单整理一下我的理解右值引用主要用来实现 移动语义 和 完美转发 1. 移动语义 使用上可以用std::move() ,把参数强制转换成右值我理解就是和浅拷贝很像,不过浅拷贝是多个指针指向堆上的空间,可能会重复释放从而出错,而移动语义是只有一个指针占有堆上的空间,移动后源指针就置空了.如果没有堆上的空间,那移动语义和浅拷贝就没什么区别 2. 完美转发 这个是在模板中,结合折叠原则使用,实现"在函数模板中,完全按照模板参数的类型将参数传递给模板函数中调用的另一个函数,并且不产生额外开销。"