123Fermer125
Kevin KoflerLe 07/08/2015 à 12:32
Folco (./122) :
Pour le pointeur, c'est en fait une chose que je fais couramment : une variable locale à dans main(), et une variable globale dans main.cpp, qui pointe sur ma variable globale.C'est dangereux ? Je devrais avoir directement ma variable dans l'espace global, avec une allocation sur le tas ?
Comme je l'ai dit, dans main, ça passe (parce que cette fonction ne termine normalement qu'à la fin du programme), mais si tu fais ça dans une autre fonction, ça va foirer à 99%.

Et avec Qt, un autre risque concerne les QObjects: si tu as un QObject local et que tu détruis l'objet parent, ça va planter (parce que le système de QObject va essayer de libérer ton objet local et pouf!). Un QObject local devrait toujours avoir un parent nul (mais pour les QWidgets, ce n'est pas possible sauf pour les fenêtres, parce parent nul = fenêtre justement). Le plus sûr est de toujours allouer les QObjects avec new.