Bonjour,
Dans une fonction j'utilise plusieurs QStringList. A la fin de la fonction, les variables sont donc détruites. Par contre Quid des QStrings, sont elles détruites automatiquement ou y a t'il une fuite mémoire ?
Merci pour votre réponse.
Bonjour,
Dans une fonction j'utilise plusieurs QStringList. A la fin de la fonction, les variables sont donc détruites. Par contre Quid des QStrings, sont elles détruites automatiquement ou y a t'il une fuite mémoire ?
Merci pour votre réponse.
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
Mais non y a pas de fuites mémoire (depuis le temps que Qt existe, quelqu'un s'en serait rendu compte quand même :p ).
Si tu regarde la doc, QStringList hérite de QList<QString>, comme les strings ne sont pas stockées en pointeurs, pas de soucis, elles sont détruites en même temps que la liste.
Merci pour la réponse.
C'était pas évident pour moi, dans le sens ou je ne savais pas si la norme était destruction automatique ou à faire par le programmeur.
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
De manière générale, les conteneurs détruisent les objets qu'ils contiennent tout comme une fonction détruit ses variables locales, donc si tu stocke des objets (pas par pointeurs), ils seront bien détruits, par contre, si tu stocke des pointeurs, la destruction est à ta charge (ou utilise des smarts pointers).
Et comme la QStringList n'est qu'une spécialisation de QList, la logique s'applique aussi.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager