Últimamente cuando he estado escribiendo C o C ++, declararé todas mis variables en la pila solo porque es una opción, a diferencia de Java.
Sin embargo, he oído que es una mala idea declarar cosas grandes en la pila.
- ¿Por qué es exactamente este el caso? Creo que el desbordamiento de la pila está involucrado, pero no tengo muy claro por qué sucede eso.
- ¿Cuántas cosas en la pila son demasiado?
No estoy tratando de poner archivos de 100 MB en la pila, solo una docena de matrices de kilobytes para usar como búferes de cadenas o lo que sea. ¿Es esto demasiado uso de la pila?
(Lo siento si está duplicado, la búsqueda de la pila seguía dando referencias a Stack Overflow. Ni siquiera hay una etiqueta de pila de llamadas, solo utilicé la abstracta).
std::vector<int>
variable local no consumirá mucho espacio de pila, la mayoría de los datos están en el montón.