Me estoy confundiendo mucho con la gestión de memoria en relación con los vectores y podría hacer con algunos conceptos básicos que explican.C++ gestión de la memoria y vectores
Tengo un programa que usa vectores grandes. creé los vectores con el nuevo operadory liberarlos al final del programa con eliminar para obtener la memoria de nuevo.
Mi pregunta es, si el programa se bloquea o se aborta por cualquier motivo, el eliminar líneas se puede perder, hay una manera de recuperar la memoria incluso en este escenario.
que también tienen algunos otros grandes vectores que asigno sin la nueva palabra clave. He leído que estos se crearán en el montón, pero no es necesario desasignarlos de todos modos ya que la gestión de la memoria se trata 'bajo el capó'. Sin embargo, no estoy seguro de que este sea el caso, ya que cada vez que ejecuto mi programa, pierdo RAM.
Así que mi segunda pregunta es, pueden vectores creados sin la nueva palabra clave realmente ser dejados a su suerte y de confianza para limpiar lo que ensucian incluso si el código es abortado mediados de flujo.
Y supongo que una tercera pregunta que se acaba surgido a la mente es, si los vectores se crean automáticamente en el montón ¿por qué se ha consumido alguna vez la nueva palabra clave con ellos? Gracias por leer, ben
Por "cada vez que ejecuto mi programa, pierdo RAM", quiere decir "mi RAM disponible se vuelve más pequeña hasta que salgo del programa" o "mi RAM disponible se hace más pequeña incluso después de salir del programa, y se vuelve aún más pequeña la próxima vez que corro, hasta que un día no me quede absolutamente nada de RAM "? –
Estoy secundando la pregunta de Max. Windows, en mi opinión, no descarga programas finalizados a menos que sea necesario. De esa manera, comienzan a funcionar más rápido después de la primera vez. –
"Y supongo que una tercera pregunta que acaba de surgir es si los vectores se crean automáticamente en el montón, ¿por qué alguna vez usarías la palabra clave nueva con ellos?" Solo necesitarás hacer esto si necesitas pasar el vector a un punto fuera del alcance actual. Esto es relativamente raro en la práctica. – rlbond