• [^] # Re: Pas uniquement string

    Posté par (site web personnel) . En réponse au journal Switch, chaîne constante et c++. Évalué à 3. Dernière modification le 02 septembre 2016 à 21:33.

    nullptr assure que si la fonction est appelée ton soft crashe (accès à la page d'addresse 0 qui n'est pas mappée --> aucune exécution de code) sans pouvoir permettre d'exécution de code non controllée

    En fait, pour être précis, déréférencer un pointeur null ne garantit pas que le soft crashe : c'est un comportement indéfini (undefined behavior).

    Par exemple, compile ce code avec gcc -O2 et exécute-le :

    #include <stdio.h>
    #include <malloc.h>
    int main(int argc, char *argv[]) {
     int *i = argc == 1 ? NULL : malloc(sizeof(int));
     *i = 42;
     if (!i)
     return 1;
     printf("pwnd %d\n", *i);
     return 0;
    }

    (tiré d'un billet que j'ai écrit il y a quelque temps)

    blog.rom1v.com