Ich bin neugierig, ob es möglich ist, die maximale Größe zu bestimmen, die ein Array in C++ haben kann.Programmgesteuert finden Sie die maximale statische Array-Größe in C++
#include <iostream>
using namespace std;
#define MAX 2000000
int main()
{
long array[MAX];
cout << "Message" << endl;
return 0;
}
Dies kompiliert ganz gut, aber dann Segfaults sobald ich es laufen (obwohl ist Array nicht tatsächlich referenziert). Ich weiß, dass es auch die Array-Größe ist, denn wenn ich es auf 1000000 ändere, läuft es gut.
Also, gibt es einige definieren irgendwo oder eine Art zu haben #define MAX MAX_ALLOWED_ARRAY_SIZE_FOR_MY_MACHINE_DEFINED_SOMEWHERE_FOR_ME
?
Ich brauche das eigentlich für nichts, diese Frage ist der Neugierde wegen.
Sie wollen nur maximale Array-Größe im Stapel verstehen? Vielleicht funktioniert Rekursion dann für Sie? nicht in einem einzigen Array, sondern in kombinierter Form? – tartar
@tar Was hat Rekursion damit zu tun? –
Dieser Beitrag beantwortet Ihre Frage nicht, sollte aber eine interessante Lektüre sein, da es sich um das gleiche seg-Fehlerproblem handelt: http://stackoverflow.com/questions/851122/large-2d-array-gives-segmentions-fault –