Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

set_new_handler

Instalar una función de usuario que debe llamar a operator new produce un error en el intento de asignar memoria.

new_handler set_new_handler(
   new_handler _Pnew
) throw( );

_Pnew

El new_handler que se instalará.

0 en la primera llamada y new_handler anterior en llamadas subsiguientes.

La función almacena _Pnew en un puntero estático de nuevo controlador mantener, devuelve el valor almacenado previamente en el puntero. operador nuevo(size_t) utiliza el nuevo controlador.

// new_set_new_handler.cpp
// compile with: /EHsc
#include<new>
#include<iostream>

using namespace std;
void __cdecl newhandler( )
{
   cout << "The new_handler is called:" << endl;
   throw bad_alloc( );
   return;
}

int main( ) 
{
   set_new_handler (newhandler);
   try
   {
      while ( 1 ) 
      {
         new int[5000000];
         cout << "Allocating 5000000 ints." << endl;
      }
   }
   catch ( exception e )
   {
      cout << e.what( ) << endl;
   }
}
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Asignar 5000000 valores de tipo int.
Se llama al new_handler:
asignación incorrecta

Encabezado: <nuevo>

Espacio de nombres: std

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft