C'est pas étonnant, demander ~245Mo dans la pile c'est énorme.
Ce qui est plus étonnant c'est que array<array<array<int, 640>, 480>, 200> v; ne plante pas.
Ou comme dit Bousk, l'utilisation de vector est possible, (sans oublier les appels à reserve !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 std::unique_ptr<my_array> v(new my_array); // allocation sur le tas -> plus de soucis. (*v)(1, 1, 1); // a la place de v(1, 1, 1);







Répondre avec citation







. Quant à allouer volontairement dans le tas, c'est tout à fait justifié si la taille du tableau est très grande. Il ne faut pas oublier que la pile a une taille limitée et que son rôle n'est pas de stocker de grandes quantités de données.

Partager