• [^] # Re: en passant

    Posté par . En réponse au message free() or not free() ?. Évalué à 3.

    bah un assert avant le free c'est plus propre qu'un vilain core:)


    assert(monpointeur!=NULL);
    free(monpointeur);
    monpointeur=NULL;

    avec la macro qui va bien tu peux avoir l'assertion en mode DEBUG et pas en mode Release

    #ifdef DEBUG
    #define MYFREE(ptr) assert(ptr!=NULL); free(ptr); ptr=NULL
    #else
    #define MYFREE(ptr) free(ptr); ptr=NULL
    #endif

    et tu invoques MYFREE au lieu de free