5Close7
FolcoOn the 2013-05-20 at 07:01pm
Brunni (./1) :
Tout ça marche merveilleusement bien pour les paramètres, mais pour les valeurs de retour c'est plus compliqué : si une fonction crée un objet juste pour la retourner elle en est la seule propriétaire. Lorsqu'elle se termine, elle doit donc logiquement le libérer.

Je comprends pas pourquoi elle devrait le libérer en fait. Elle crée l'objet avec un refcount de 1, ça semble normal. Puis elle le retourne,
Brunni (./1) :
Problème alors, il n'appartient plus à personne et va être détruit.

Ben pourquoi l'objet n'appartient pas à la fonction qui a appelé la fonction créatrice ? Le refcount est à un, l'objet lui a été donné par retour, donc tout va bien, on sais où est l'objet et à qui il appartient, et la fonction appelante est la seule à savoir quand le-dit objet devra être libéré, puisque c'est elle qui s'en sert.
Ya un truc compliqué que j'ai pas dû comprendre, parce que ça me parait pas plus dur que ça en fait grin