gpt4 book ai didi

c++ - 每次在 std::list 容器中插入元素时都会发生动态分配吗?

转载 作者:行者123 更新时间:2023-12-02 10:25:49 26 4
gpt4 key购买 nike

如果我将一个元素插入一个空的 std::list容器我希望发生内存分配以存储我的元素。现在,如果我删除这个元素并添加一个新元素,分配的内存是否在插入时被释放并重新分配,或者常见的实现能够保留一个已释放(删除)的条目池以便它们可以被重用?

最佳答案

一个 std::list<>实现链表数据结构,因此(概念上)每次插入元素时分配新内存。话虽如此,所有标准容器类都接受表示要使用的分配器的类型参数。使用此参数,您可以将分配器更改为仅将指针返回到预分配内存区域的分配器。当然,如果您已经预先知道需要多少内存,就不清楚为什么要使用这种类型的数据结构。

关于c++ - 每次在 std::list 容器中插入元素时都会发生动态分配吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25779820/

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