Update item21.md

Co-authored-by: Yang Yi <qingfeng.yy@alibaba-inc.com>
This commit is contained in:
猫耳堀川雷鼓 2021-02-23 12:01:46 +08:00 committed by GitHub
parent a35712301c
commit 0dd4a5eb84
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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活得更久。