C++ gestion de la mémoire et des vecteurs

Je suis très confondre avec la gestion de la mémoire par rapport aux vecteurs et pourrait faire avec quelques concepts de base de l'expliquer.

J'ai un programme qui utilise de gros vecteurs.
J'ai créé les vecteurs avec la nouveau de l'opérateur et de les libérer à la fin du programme avec supprimer pour obtenir le secours de la mémoire.

Ma question est, si le programme se bloque ou est annulée pour n'importe quelle raison, le supprimer lignes sera raté, est-il un moyen de récupérer de la mémoire même dans ce scénario.

J'ai aussi quelques autres grands vecteurs que j'attribue sans nouveau mot-clé.
J'ai lu que ces sera créé sur le tas, mais n'ont pas besoin d'être libéré de toute façon que la gestion de la mémoire est traitée avec "sous le capot".
Cependant, je ne suis pas sûr que c'est le cas, comme à chaque fois que je lance mon programme, je perds la mémoire RAM.

Donc ma deuxième question est, peut vecteurs créé sans l' nouveau mot-clé vraiment être laissés à leur propre sort et de confiance pour nettoyer après eux-mêmes, même si le code est abandonnée milieu.

Et je suppose qu'une troisième question qui a surgi à l'esprit est que, si les Vecteurs sont automatiquement créé sur le tas pourquoi voudriez-vous utiliser les nouveau mot-clé avec eux?
Merci pour la lecture,
ben

  • Par "chaque fois que je lance mon programme, je perds la mémoire RAM" voulez-vous dire "ma RAM disponible diminue, jusqu'à ce que je quitter le programme" ou "ma RAM disponible est petite, même après que j'ai quitter le programme, et il devient encore plus la prochaine fois que je lance, jusqu'à ce qu'un jour je vais avoir absolument aucune RAM de gauche"?
  • Je suis détachement Max de question. Windows, je crois, ne fait pas les décharger résilié programmes, sauf si il en a besoin. De cette façon, ils démarrent plus rapidement après la première fois.
  • "Et je suppose qu'une troisième question qui a surgi à l'esprit est que, si les Vecteurs sont automatiquement créé sur le tas pourquoi voudriez-vous jamais utiliser le mot clé new avec eux?" Vous n'aurez besoin de faire cela si vous avez besoin de passer d'un vecteur en un point hors de la portée actuelle. Ceci est relativement rare dans la pratique.
InformationsquelleAutor Columbo | 2009-06-08