Faire en sorte que new renvoie un pointeur nul en cas d'échec d'allocation
by Jean-Michel Frouin
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.
tags: