gpt4 book ai didi

c++ - 以编程方式在 C++ 中查找最大静态数组大小

转载 作者:IT王子 更新时间:2023-10-28 23:35:18 25 4
gpt4 key购买 nike

我很好奇是否可以确定 C++ 中数组的最大大小。

    #include <iostream>

using namespace std;

#define MAX 2000000

int main()
{
long array[MAX];
cout << "Message" << endl;
return 0;
}

这编译得很好,但是一旦我运行它就会出现段错误(即使实际上没有引用数组)。我也知道这是数组大小,因为如果我将其更改为 1000000,它运行得很好。

那么,是否有一些定义或某种方式具有 #define MAX MAX_ALLOWED_ARRAY_SIZE_FOR_MY_MACHINE_DEFINED_SOMEWHERE_FOR_ME

我实际上并不需要这个,这个问题是为了好奇。

最佳答案

没有办法静态地确定这一点,因为 实际 限制取决于您的线程已获得多少堆栈空间。您可以创建一个新线程,给它 10 兆字节的堆栈,然后您将能够分配一个相应更大的本地数组。

您可以在堆栈上分配的数量还取决于到目前为止已经使用了多少。

关于c++ - 以编程方式在 C++ 中查找最大静态数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9953260/

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