场景:
- 在 remove_reference 结构体中能看到右值引用的身影 &&, 那么这里的右值引用到底有什么用呢?
- 经常也发现int& 和int&& 这两种类似的应用类型,第一种是左值引用声明,第二种是右值引用声明.
- 以下的例子直接参考的 cppreference,已经写的很完整了,没必要重新写.
参考:
1.Reference declaration
2.Rvalue Reference Declarator: &&
3.Lvalue Reference Declarator: &
语法
左值引用声明: & attr(optional) declarator (1)
右值引用声明: && attr(optional) declarator (2) (since C++11)
本文介绍了C++11中的左值引用和右值引用,阐述了它们的作用和区别。左值引用是对象的别名,必须初始化且不可重新赋值,常用于函数参数和返回值。右值引用则用于区分左值和右值,实现Move语义,能够移动临时对象的资源,并能延长临时对象的生命周期。通过左值和右值引用的重载,支持Move构造函数和Move赋值操作。
订阅专栏 解锁全文
825

被折叠的 条评论
为什么被折叠?



