• [^] # Re: Retourne à la raison!

    Posté par . En réponse au journal Retour aux sources. Évalué à 0. Dernière modification le 27 septembre 2014 à 23:42.

    Byzanterie

    Une façon de commencer à les résoudre est de faire, comme tu les suggères, du C with classes mais ce n'est pas forcément la plus intéressante.
    Ce que je reproche à C++ est d'être un langage complètement byzantin, absolument illisible, et où il y a 36 réponses à chaque problème d'organisation

    Complètement d'accord.
    De toute évidence le C++ n'est pas une réussite, et ses nombreux besoins de rétrocompatibilités l'enchaînent encore plus. Trop tard pour lui, dommage.

    Mais est-il vraiment à jeter pour autant ? N'est-ce pas là tout simplement le prix à payer pour avoir à la fois puissance et abstraction ?

    Références et pointeurs

    les références implémentent les pointeurs sans transfert de propriété

    Les pointeurs purs non plus n'ont pas d'information de propriétés, non ?
    Ce sont de simples adresses de mémoire.

    En réalité la seule véritable différence de fonctionnalité entre un pointeur et une référence c'est que le pointeur permet de déconstruire l'objet et pas la référence.

    Euh, j'ai un doute là, du coup. La condition pour faire un delete propre est d'avoir allouer sur le tas avec un new la mémoire pointée par le pointeur donné en argument de delete.

    On peut parfaitement delete l'adresse d'une référence crée depuis un objet allouée sur le tas si ça nous amuse. Puisqu'au fond c'est un pointeur pur déguisé.
    Ou bien peut-être que mon GCC 4.8 (en c++11) est permissif sur ce point ? J'avoue ne pas avoir lu la spéc' officielle. Trop chiant.

    D'ailleurs, j'ai même le droit de delete un objet alloué sur la pile.