C++ 的 “移动语义”——Move Semantics

相关术语

| 中文 | 英文 |

|------|------|

| 移动语义 | move semantics |

| 右值引用 | rvalue reference (T&&) |

| 左值 | lvalue |

| 右值 | rvalue |

| 将亡值 | xvalue (expiring value) |

| 移动构造函数 | move constructor |

| 移动赋值运算符 | move assignment operator |

| 移动迭代器 | move iterator |

| 完美转发 | perfect forwarding |

| 返回值优化 | return value optimization (RVO) |

| 具名返回值优化 | named return value optimization (NRVO) |


例句

  • Move semantics allow resources to be transferred from one object to another instead of copying them.

    (移动语义允许把资源从一个对象转移到另一个对象,而不是复制。)

  • Move semantics is one of the most important features introduced in C++11.

    (移动语义是 C++11 引入的最重要的特性之一。)

  • The compiler uses move semantics when an object is passed by rvalue reference.

    (当对象通过右值引用传递时,编译器会使用移动语义。)


用法说明

  • 通常用复数形式 move semantics(把"语义"视为一组规则/机制)。

  • 单数 move semantic 较少用,一般不这么写。

  • 作定语时:move semantics rules (移动语义规则)、move semantics optimization(移动语义优化)。


移动语义 = move semantics。这是唯一标准、通用的说法。

相关推荐
UIU1148 小时前
递归算法与汉诺塔
c++·学习·算法·c#·递归
Fruit_Caller8 小时前
static
开发语言·c++
codigger13 小时前
ObjectSense:一门千行内核、把可靠性写进骨子里的面向对象脚本语言
开发语言·编程·编程语言
小小龙学IT14 小时前
Boost.Interprocess 开源 C++ 进程间通信库深度解析
c++·开源
倒头就睡的小比特6 天前
算法竞赛C++常用的STL
c++·算法
weilx12346 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!6 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读6 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
Smileyqp沛沛6 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车6 天前
C/C++ 为什么需要编译器?
开发语言·c++