右值引用、引用折叠、移动语义、完美转发(言简意赅一文看懂)
右值引用(实现移动语义和完美转发,消除不必要的拷贝):
左值:等号左边,可以取地址
右值:等号右边,不可以取地址
左值引用&
右值引用&&
左值引用只能绑定左值,右值引用只能绑定右值
//将左值转化为右值,给需要右值的地方把左值转化为右值传递右值
std::move()
引用折叠规则
1.所有右值引用折叠到右值引用上仍然是一个右值引用。(A&& && 变成 A&&)
2.所有的其他引用类型之间的折叠都将变成左值
原创
2021-12-27 18:49:28 ·
315 阅读 ·
0 评论