Nouvelle bibliothèque C ++ - nothrow

La description

Il s'agit d'une constante nothrow et cette valeur constante est utilisée comme argument pour l'opérateur new et l'opérateur new [] pour indiquer que ces fonctions ne doivent pas lever d'exception en cas d'échec, mais renvoyer un pointeur nul à la place.

Voici la déclaration pour std :: nothrow.

extern const nothrow_t nothrow;

Paramètres

aucun

Valeur de retour

aucun

Des exceptions

No-throw guarantee - cette fonction membre ne lève jamais d'exceptions.

Courses de données

aucun

Exemple

Dans l'exemple ci-dessous pour std :: nothrow.

#include <iostream>
#include <new>

int main () {
   std::cout << "Attempting to allocate...";
   char* p = new (std::nothrow) char [1024*1024];
   if (p==0) std::cout << "Failed!\n";
   else {
      std::cout << "Succeeded!\n";
      delete[] p;
   }
   return 0;
}

La sortie devrait être comme ça -

Attempting to allocate...Succeeded!