Pour wxWidgets, pourquoi avez-vous besoin de dire:wxWidgets en utilisant le 'nouveau' mot-clé
MyFrame *frame = new MyFrame
au lieu de:
MyFrame frame;
Quelle est la différence entre les deux? Le second est plus agréable à lire et plus facile à utiliser mais tous les exemples utilisent le premier donc je me demande quelle est la raison. Pour clarifier, je sais que la deuxième version ne fonctionne pas, mais je me demande s'il y a une décision de conception spécifique qui oblige à utiliser la première forme au lieu de la seconde. TIA.
Merci. Cela a un sens parfait. Et cela signifie-t-il que si je termine le programme sans nettoyer cette mémoire allouée, que je vais créer des fuites de mémoire? Si oui, y a-t-il une façon automagique de le faire. J'ai entendu le terme RAII utilisé, mais vu seulement dans le cas de scoped_ptrs etc. où les choses disparaissent automatiquement. – bugmenot77
Normalement, ce serait vrai. Cependant, à la fin du programme, votre système d'exploitation nettoiera toutes les ressources. La plupart des boîtes à outils graphiques (et je crois que wxWidgets) gèrent la gestion des ressources (c'est-à-dire: supprimer les appels) des éléments de l'interface utilisateur, s'ils ont été parentés par un autre élément de l'interface utilisateur. Ainsi, par exemple, si vous mettez votre "cadre" à l'intérieur d'une fenêtre, la suppression de votre fenêtre supprimera automatiquement votre cadre. C'est une "caractéristique" de la boîte à outils, et pas la langue, cependant. –
Merci pour les réponses ridiculement rapides! :) – bugmenot77