gpt4 book ai didi

c++ - 堆栈和堆上的 STL 容器

转载 作者:IT老高 更新时间:2023-10-28 22:01:03 26 4
gpt4 key购买 nike

如果 std::vector 和 friend 是 self 调整大小,这是否意味着如果我这样声明一个 vector :

std::vector<string> myvec;

然后它将使用更多堆栈调整大小,而:

std::vector<string> *myvec = new std::vector<string>();

会使用更多堆来调整大小吗?

最佳答案

vector 在其内部的堆上分配。

您在堆栈中为基于堆栈的 bector 支付的唯一费用是几个字节,内部缓冲区将始终从堆中分配。

当您执行 vec = new vector() 时非常有效,您分配的数量很少,这可能不是很好。

关于c++ - 堆栈和堆上的 STL 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642903/

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