Annexe D

 

Comptage de références

 

Nous avons vu que dès qu’un objet comporte une partie dynamique, il est nécessaire de procéder à des copies « profondes » plutôt qu’à des copies « superficielles », et ce aussi bien dans le constructeur de recopie que dans l’opérateur d’affectation. Cette façon de procéder conduit à ce que l’on pourrait nommer la sémantique naturelle de l’affectation et de la copie. Ainsi, avec :

vect a(5), b(12) ;  // a contient 5 éléments, b en contient 12
   .....
a = b ;     // a et b contiennent maintenant 12 éléments
            // mais, ils restent indépendants
a[2] = 12 ;  // la valeur de a[2] est modifiée, pas celle de b[2]

Mais il est possible d’éviter la duplication de cette partie dynamique en faisant appel à la technique du « compteur ...

Get Programmer en langage C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.