mirror of
https://github.com/CnTransGroup/EffectiveModernCppChinese.git
synced 2025-02-05 16:51:05 +08:00
Update item23.md
Co-authored-by: Yi Yang <qingfeng.yy@alibaba-inc.com>
This commit is contained in:
parent
bfa4abe24d
commit
2b0d22dfe0
@ -4,7 +4,7 @@
|
||||
|
||||
当你第一次了解到移动语义(*move semantics*)和完美转发(*perfect forwarding*)的时候,它们看起来非常直观:
|
||||
|
||||
- **移动语义**使编译器有可能用廉价的移动操作来代替昂贵的复制操作。正如复制构造函数和复制赋值操作符给了你赋值对象的权利一样,移动构造函数和移动赋值操作符也给了控制移动语义的权利。移动语义也允许创建只可移动(*move-only*)的类型,例如`std::unique_ptr`, `std::future` 和 `std::thread`。
|
||||
- **移动语义**使编译器有可能用廉价的移动操作来代替昂贵的复制操作。正如复制构造函数和复制赋值操作符给了你控制复制语义的权力,移动构造函数和移动赋值操作符也给了你控制移动语义的权力。移动语义也允许创建只可移动(*move-only*)的类型,例如`std::unique_ptr`, `std::future` 和 `std::thread`。
|
||||
|
||||
- **完美转发**使接收任意数量实参的函数模板成为可能,它可以将实参转发到其他的函数,使目标函数接收到的实参与被传递给转发函数的实参保持一致。
|
||||
|
||||
@ -196,4 +196,3 @@ public:
|
||||
|
||||
关于move语义的解释
|
||||
https://stackoverflow.com/questions/36827900/what-makes-moving-objects-faster-than-copying
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user