gpt4 book ai didi

c++ - 具有动态分配大小和预定大小的简单数组内存分配

转载 作者:太空宇宙 更新时间:2023-11-04 08:39:03 25 4
gpt4 key购买 nike

我正在写一个程序,突然遇到了一个疑问。我有两种分配静态数组的方法。

int main ()
{
int a[10];
}
int main()
{
int N;
cin >> N; //assume i input N as 10
int a[N];
}

在这两种情况下,内存分配有何不同?在第二种情况下会在运行时分配吗?

最佳答案

第二种方式是不允许的。第一种方法将在堆栈上创建内存。一旦 main() 退出,它将被取消分配。如果你想要动态分配最好的方法是使用新的:

int* = new int[N];

但这样一来,您最终将不得不删除它。如果您可以使用 STL,那么只需使用 std::vector:

std::vector<int> a;

关于c++ - 具有动态分配大小和预定大小的简单数组内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658327/

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