gpt4 book ai didi

c++ - 何时使用 std::make_shared_for_overwrite?

转载 作者:行者123 更新时间:2023-12-04 16:37:27 24 4
gpt4 key购买 nike

C++20 引入新函数 std::make_shared_for_overwrite()除了std::make_shared() :
https://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared
为什么老 make_shared是不够的,在什么情况下需要使用新功能?

最佳答案

std::make_shared() value 初始化它创建的对象,如果您打算稍后为其分配值,这可能是不必要的步骤。std::make_shared_for_overwrite() default 初始化它创建的对象。
差异仅对没有初始化程序的基本类型的(子)对象重要。std::make_shared<int[1000][1000]>()将分配一百万并归零 intstd::make_shared_for_overwrite<int[1000][1000]>()将分配一百万 int

关于c++ - 何时使用 std::make_shared_for_overwrite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67968070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com