Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fonctions Importantes de Weak Pointer | Pointeurs Faibles
Pointeurs Intelligents C++
course content

Contenu du cours

Pointeurs Intelligents C++

Pointeurs Intelligents C++

1. Introduction aux Pointeurs Intelligents
2. Pointeurs Uniques
3. Pointeurs Partagés
4. Pointeurs Faibles
5. Références
6. Sujets Avancés

book
Fonctions Importantes de Weak Pointer

Pour exploiter tout le potentiel des pointeurs faibles, il est important de connaître les fonctions suivantes.

Avant d'appeler lock(), vous pouvez vérifier si un pointeur faible est toujours valide (c'est-à-dire si l'objet pointé existe toujours) en utilisant la méthode expired(). Cette fonction retourne vrai si l'objet référencé a été détruit, et faux sinon.

Dans l'exemple ci-dessus, nous appelons expired() avant de verrouiller le pointeur faible et d'accéder à l'objet référencé.

La fonction use_count()

Bien qu'un pointeur faible n'affecte pas le compteur de références d'un objet, il est souvent utile de savoir combien de pointeurs partagés gèrent le même objet. La fonction use_count() retourne ce nombre.

La fonction reset()

Pour libérer un pointeur faible de ses devoirs d'observation d'un objet, vous pouvez utiliser la fonction reset(). Cela rendra le pointeur faible vide, c'est-à-dire qu'il ne pointe plus vers aucun objet.

La fonction swap()

La fonction swap() peut être utilisée pour échanger le contenu de deux pointeurs faibles. Cela est particulièrement utile lorsque vous souhaitez changer les objets que les deux pointeurs faibles observent, sans altérer la propriété ou la durée de vie des objets dynamiques.

Dans cet extrait, weakPtrA observe initialement l'objet géré par sharedPtrA, et weakPtrB observe l'objet géré par sharedPtrB. Après avoir appelé swap(), weakPtrA commence à pointer vers l'objet qui était géré par sharedPtrB et vice versa.

Quelle fonction devez-vous utiliser si vous voulez voir si une ressource pointée par un pointeur faible existe toujours ou non ?

Quelle fonction devez-vous utiliser si vous voulez voir si une ressource pointée par un pointeur faible existe toujours ou non ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
We're sorry to hear that something went wrong. What happened?
some-alt