• [^] # Re: les anciennes choses..

    Posté par (site web personnel) . En réponse au journal Ces langages avec lesquels il faut tout réécrire. Évalué à 4.

    Les smart pointers de C++ semblent plus proches de ce dernier cas ?

    Je ne peux pas comparer car je connais pas assez Rust.

    Les smart pointers permettent surtout :

    • std::unique_ptr permet de bien marquer l'ownership d'un pointeur. Cet objet n'est pas copiable mais uniquement déplaçable. De ce fait il est impossible de faire un double-free quand on l'utilise. C'est le smart pointer le plus simple, quand il est détruit il détruit l'objet sous jacent s'il est présent
    • std::shared_ptr permet d'avoir une donnée avec un reference-count. Tant qu'un shared_ptr existe et est copié plusieurs fois, le pointeur n'est pas supprimé. C'est le moyen le plus sûr de partager un pointeur à travers plusieurs parties du code. Néanmoins son utilisation doit rester occasionnelle car elle indique souvent un problème de conception.

    AI is a mental disorder