frouin.me

Faire en sorte que new renvoie un pointeur nul en cas d'échec d'allocation

Introduction

user

Jean-Michel Frouin

CTO @ WakeOnWeb.com


cpp

Faire en sorte que new renvoie un pointeur nul en cas d'échec d'allocation

Posted by Jean-Michel Frouin on .
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.

user

Jean-Michel Frouin

https://frouin.me

CTO @ WakeOnWeb.com