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

    Posté par . En réponse au journal Ces langages avec lesquels il faut tout réécrire. Évalué à 1. Dernière modification le 04 octobre 2022 à 01:53.

    C'est ce que j'avais cru comprendre en survolant un peu de documentation. En gros, l'opérateur new renvoie en C++ un raw pointer référençant le tas, et l'idée est de ne jamais utiliser de variable intermédiaire pour ce dernier mais par convention de le passer directement au « constructeur » de smart pointer qui lui sera sur la pile ?

    var foobar = std::unique_ptr(new SomeFantasticClass());

    (syntaxe sans doute très très approximative)

    Le smart pointer est le seul à connaître le raw pointer, et je suppose qu'il libère la mémoire quand foobar sort du scope.

    J'ai bon ?

    Ça ressemblerait effectivement un peu aux types Box<T> et Rc<T> en Rust (ou Arc<T>, je ne sais pas si shared_ptr est thread-safe ?)

    ...
    ...

    C'est malin, je vais devoir ajouter C++ à ma liste de langages à tester.