• [^] # Re: Pas de fumée sans feu

    Posté par (site web personnel) . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 3.

    Sans exceptions, on se retrouve à écrire au moins 3 lignes de code de gestion d'erreur par ligne de code "utile":

    Heu... Sans les exceptions ne veut pas dire sans destructeur, donc ça donnerait plutôt :

    if (faire_un_truc()) {
     return;
    }

    Et comme avec les exceptions libérer_les_resources(); est à la charge du destructeur.
    Quand on compare, il faut comparer sans changer 2 paramètres pour en conclure sur 1 seul, il faut changer 1 paramètres et dans ton exemple tu as supprimé les exceptions et les destructeurs pour conclure sur les exceptions seules.

    ça devient très vite le bazar de s'assurer que on a bien libéré toutes les ressources allouées.

    Pas pire qu'avec les exceptions.

    Alors que avec les exceptions et la RAII en C++, ça se fait tout seul: tous les objets alloués sur la pile sont automatiquement libérés lorsqu'on quitte la fonction.

    Pareil avec un return, ou je n'ai pas compris l'idée.