C++语言:std::move()及其左右值引用技术
发布时间
阅读量:
阅读量
左值、右值、左值引用、右值引用和std::move
-
- 1. 左值与右值的概念解析
- 2. 左值引用及右值引用的定义
- 3. 右值引用结合std::move的具体应用情境 * * 3.1 达成移动语义的实现方式
- 3.2 实例分析:通过std::move优化vector::push_back的执行效率 * 4. 完美转发机制 std::forward * 5. 引用相关知识
- 1. 左值与右值的概念解析
开篇说明: 若你对 左值、右值、左值引用、右值引用以及std::move 这些术语感到困惑,对相关概念的理解不够清晰,或者存在模糊认识,那么本文将非常适合你。请耐心阅读,相信通过学习能够获得一定的收获~~
1. 什么是左值、右值
【左值: 具备可获取内存地址的特性,通常出现在赋值操作符左侧 – 在表达式执行完毕后仍持续存在的持久化对象(即在内存中拥有固定存储位置的对象)
右值: 无法获取内存地址,一般位于赋值操作符右侧 – 在表达式执行完成后即被销毁的临时对象(即不具有固定内存存储位置的表达式)
判定方法:通过尝试对表达式进行取地址操作,若可行则判定为左值,反之则为右值
int val;
val
全部评论 (0)
还没有任何评论哟~
