Chez ouam

/home/jmfrouin

View on GitHub
24 January 2013

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: