gpt4 book ai didi

c++ - scoped_ptr 中的对象分配速度非常快?

转载 作者:行者123 更新时间:2023-11-28 00:58:22 25 4
gpt4 key购买 nike

既然 scoped_ptr 保证给定线程中的所有对象都以类似堆栈的方式分配,那么为 scoped_ptr< 下的对象指定“自定义堆”的最不痛苦的方法是什么?
(例如,对于 vectordequestring 等)

(这将使我们几乎完全避免传统的堆开销,获得一个几乎与堆栈一样快但与堆一样大的池。)

最佳答案

scoped_ptr ,以及一般的智能指针,对它们持有的对象分配的内存没有影响。如果出于某种原因你有一个 scoped_ptr<std::vector<T> > , 事实上 std::vector<T>*存储在 scoped_ptr 中与std::vector<T> 的位置完全无关从中获取它的内存。

当然,事实是std::vector<T>已经是一个 RAII 类型(像所有其他标准库类一样),它将在自身之后清理意味着将它们粘贴在 scoped_ptr 中完全没有意义。

简而言之,你所说的与scoped_ptr无关。根本。它与您用于容器类的分配器有关。你找错人了。

关于c++ - scoped_ptr 中的对象分配速度非常快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9986211/

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