• [^] # Re: Oui mais non

    Posté par . En réponse au journal ADN overflow : c'est de la faute de l'open source. Évalué à 3.

    Hum... perso dans ces moments la je passe par par std::unique_ptr

    Oui, généralement c'est le cas, mais parfois c'est un peu plus que juste un free, mais c'est assez rare

    Je ne vois pas ce que tu veux dire la? Je suis preneur d'un p'tit snippet, si tu peux :p

    Un quick & dirty, (détournement d'outils standard, à éviter) :

    std::shared_ptr<void> at_scope_exit(nullptr, [&](void* ptr) { /* ton code ici, avec la magie des lambda */; });

    Sinon tu peux facilement faire un objet qui prends une fonction en paramètre et l'exécute en sortie de bloc (destructeur), par contre ne pas oublier que les exceptions dans les destructeurs sont généralement à éviter, il y a quelques exemples ici, avec en prime des version pile, permettant d'enchainer les actions ;)

    https://stackoverflow.com/questions/10270328/the-simplest-and-neatest-c11-scopeguard

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent