std::nothrow
De cppreference.com
Definido en el archivo de encabezado <new> | ||
externconststd::nothrow_t nothrow; | ||
std::nothrow
es una constante de tipo std::nothrow_t utilizada para desambiguar las sobrecargas de las funciones de asignación que lanzan y que no lanzan excepciones.
[editar]Ejemplo
Ejecuta este código
#include <iostream>#include <new> int main(){try{while(true){ new int[100000000ul];// sobrecarga que lanza}}catch(conststd::bad_alloc& e){std::cout<< e.what()<<'\n';} while(true){int* p = new(std::nothrow)int[100000000ul];// sobrecarga que no lanzaif(p == nullptr){std::cout<<"nullptr devuelto al asignar memoria\n";break;}}}
Salida:
std::bad_alloc nullptr devuelto al asignar memoria
[editar]Véase también
Etiqueta de tipo utilizada para seleccionar una función de asignación que no lanza excepciones. (clase) | |
Funciones de asignación. (función) |