Featured
cpp
Faire en sorte que new renvoie un pointeur nul en cas d'échec d'allocation
Posted by Jean-Michel Frouin on .Par défaut, quand new, ne peut allouer la mémoire nécessaire à la création d'un nouvel objet, il lève l'exception bad_alloc.
Pour eviter cela (et ce rapprocher du comportement de malloc) on peut l'utiliser ainsi :
int *adr = new(std::nothrow) int [taille];
Lors d'un echec dans l'allocation memoire il renverra, dans ce cas, un pointeur nul.
Cette utilisation est pratique, lorsque l'on veut porter un code source en C vers le C++ pour pas avoir à convertir les vérifications de pointeur nul.