• [^] # Re: Le diable est l'ennemi du détail (ou un truc comme ça)

    Posté par (site web personnel) . En réponse au journal Une 20-aine de lignes de code pour le defer de Go en C++. Évalué à 3.

    il me semble que l'ordre de libération est inverse

    C'est le cas, j'ai utilisé rbegin et rend, qui itère sur le std::vector depuis la fin vers le début.

    En go, j'imagine que ça :

    En Go defer exécute du code à la fin de la fonction, pas à la fin du scope, donc ton defer à l'intérieur du if ne sera pas exécuté au bon moment.

    Donc ma version C++ permet une gestion plus fine. Le fait de déclarer une seconde frame dans le if (qui repose sur le variable shadowing) va justement te permettre d'avoir le comportement souhaité.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg