gpt4 book ai didi

c++ - 下面这段代码会把内存分配到哪里?

转载 作者:行者123 更新时间:2023-11-28 03:12:43 24 4
gpt4 key购买 nike

如果我声明一个 std::vector<A *> ,内存会分配到哪里呢?我知道new动态分配内存,但 vector 的内存应该静态分配。我想知道内存发生了什么。

    typedef std::vector<A *> AArray;

void myFunction()
{
AArray aarray;
aarray.push_back(new A());
aarray.push_back(new A());
}

最佳答案

std::vector 需要能够更改其分配的数据,这意味着它将在内部保留分配的数组(在本例中为 (A*)[])。该数组将在堆上分配(动态)。

关于c++ - 下面这段代码会把内存分配到哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17921629/

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