Mais comme pour les tableaux (entre le bête array accedé par [], le std::vector::[] ou encore std::vector::at), en C++, on a le choix. On peut tout à fait se passer des pointeurs hérités du C et n'utiliser que des smart pointers et avoir la garantie que si un objet est encore en mémoire, alors tu as encore quelque chose qui pointe dessus.
et ne parlons pas des NullPointerException, qui ont le même effet dans les deux langages.
Par contre là, on a pas le choix en C++ : il n'y a pas d'exception quand on tente de manipuler un pointeur (smart ou pas) nul. Pareil avec une division par zéro.
[^] # Re: Chacun son style
Posté par Vlobulle . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 1.
Mais comme pour les tableaux (entre le bête array accedé par [], le std::vector::[] ou encore std::vector::at), en C++, on a le choix. On peut tout à fait se passer des pointeurs hérités du C et n'utiliser que des smart pointers et avoir la garantie que si un objet est encore en mémoire, alors tu as encore quelque chose qui pointe dessus.
Par contre là, on a pas le choix en C++ : il n'y a pas d'exception quand on tente de manipuler un pointeur (smart ou pas) nul. Pareil avec une division par zéro.