mirror of
https://github.com/CnTransGroup/EffectiveModernCppChinese.git
synced 2024-10-28 04:00:13 +08:00
Update item21.md
Co-authored-by: Yang Yi <qingfeng.yy@alibaba-inc.com>
This commit is contained in:
parent
a35712301c
commit
0dd4a5eb84
@ -219,5 +219,5 @@ processWidget(std::move(spw), computePriority()); //高效且异常安全
|
||||
|
||||
**请记住:**
|
||||
- 和直接使用`new`相比,`make`函数消除了代码重复,提高了异常安全性。对于`std::make_shared`和`std::allocate_shared`,生成的代码更小更快。
|
||||
- 不适合使用`make`函数的情况包括需要指定自定义删除器和希望用花括号初始化
|
||||
- 不适合使用`make`函数的情况包括需要指定自定义删除器和希望用花括号初始化。
|
||||
- 对于`std::shared_ptr`s,其他不建议使用`make`函数的情况包括(1)有自定义内存管理的类;(2)特别关注内存的系统,非常大的对象,以及`std::weak_ptr`s比对应的`std::shared_ptr`s活得更久。
|
||||
|
Loading…
Reference in New Issue
Block a user