Dans mes Explorations parmi Internet, je suis tombé sur this post, qui comprend ceC++ - Que signifie "Stack automatique"?
« (bien écrit) C++ va très longueurs pour faire empiler des objets automatiques fonctionnent « comme » primitives, comme en témoigne dans les conseils de Stroustrup à « faire comme les ints font » Cela nécessite une beaucoup plus grande adhésion aux principes du développement Orienté objet :. votre classe ne va pas jusqu'à ce qu'il « fonctionne comme » un int, suite à la " Règle de Trois "que guara Il peut être créé, copié, et correctement détruit comme une pile automatique. "
J'ai fait un peu de code C et C++, mais en passant, jamais rien de grave, mais je suis juste curieux, qu'est-ce que cela signifie exactement?
Quelqu'un peut-il donner un exemple?
Cette fonctionnalité est largement utilisée en C++ pour gérer automatiquement l'acquisition et la libération des ressources, via l'idiome RAII (Resource Acquisition Is Initialization). –
for completeness: http://en.wikipedia.org/wiki/RAII –
Juste un problème de libellé mineur: Chaque variable est détruite quand sa portée/durée de vie est épuisée, donc, en fait, le 'obj * b' est" détruit ". Son destructeur ne fait rien et donc le 'nouvel objectif 'n'est pas supprimé. Juste en changeant le type de pointeur, c'est à dire. 'smart_ptr' qui a un destructeur, pas de changements de portée, mais les objets sont supprimés. –
quetzalcoatl