
Envoyé par
eva-axis
He bien pour les SP, la principale difference avec les weak/strong c'est que ce n'est pas deux SP mais un seul, qui selon le besoin, fonctionne comme l'un ou comme l'autre.
Plus precisement, il y'as deux compteur, un pour chaque type, chaque SP a une zone static (shared avec les autre pointeur vers le meme objet), Chaque SP peux etre "primary" (strong), il peux avoir acces au info et repond aussi de la durrre de vie, Il peux aussi etre "secondary" (weak) il a acces mais sa destruction n'influence pas les autres. La destruction de l'objet se fait quand le compteur des primary tombe a 0. Mais la partie shared entre les pointeur reste intacte, tanc que il reste des secondary, au cas ou ils essaye de contacter l'objet, on peux lancer un exeption, ce qui facilite le debogage.
Toute les copie par defaut, constructeur de copie et assignation sont par defaut "secondary".
Partager