• [^] # Re: Allocs

    Posté par . En réponse au journal Une 20-aine de lignes de code pour le defer de Go en C++. Évalué à 4.

    Il n'y a pas de mauvaises questions ;)

    • __COUNTER__ c'est une macro qui s'incrémente toute seule à chaque fois que qu'elle est utilisé. C'est souvent utilisé comme __LINE__ pour générer des noms uniques. Mais attention ça n'est pas standard, c'est une extension implémentée par MSVC, Clang et GCC.
    • le template<typename TCallback> est nécessaire pour pouvoir passer la lambda. Tu ne peux pas préciser le type de la lambda, et l'objectif est d'éviter l'usage de std::function, donc template.
    • à rien :D, je l'ai utilisé par habitude. Dans ce cas précis on s'attend à ce que la lambda capture son environnement par référence, donc le move n'apporte rien. En revanche si la lambda capturait par copie le move pourrait être bénéfique si les objets capturés contiennent des allocations sur le tas.