gpt4 book ai didi

c++ - std::shared_ptr 预分配内存

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:30 25 4
gpt4 key购买 nike

我想在一个堆请求(如 std::make_shared)中为 shared_ptr 的控制 block 和 value_type 预分配内存,但是不要立即在其中构造任何对象。当我实际需要构造对象时,使用放置 new。可能吗? std::make_sharedstd::allocate_shared 似乎都无法解决我的问题。

最佳答案

我建议创建延迟初始化包装类,它本身包含足够的内存供您稍后要初始化的对象使用。这个包装器甚至可以有特殊的方法来在析构函数中调用 placement new 和 delete 初始化对象。

关于c++ - std::shared_ptr 预分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35815259/

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