Buenas noches, acabo de notar que cuando creo una memoria dinamica usando new[], no tengo necesidad de usar el encabezado <new>, pero en una pagina de C++ indica que ésta es necesaria para invocar ese metodo: http://www.cplusplus.com/reference/new/ , aqui tienen mi codigo y veran que funciona perfectamente sin la cabecera <new>
¿Sera que ya no es necesario usar esa cabecera? Que alguien me explique que diferencia hay entre usarla o no, por favor, gracias.
Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
int main( int argc, char* args[] )
{
int *arreglo;
int cantidad, i, a = 0;
cout << "Ingrese el tamaño del arreglo: ";
cin >> cantidad;
// El metodo nothrow permite que el programa se siga ejecutando incluso si el puntero recibe un parametro invalido
arreglo = new (nothrow) int [cantidad];
if( arreglo == 0)
cout << "Error, no se pudo asignar memoria" << endl;
else
for( i = 0; i < cantidad; i++ )
{
arreglo[i] = a;
a++;
cout << arreglo[i] << endl;
}
// El operador delete sirve para liberar la memoria dinamica utilizada
delete [] arreglo;
cin.get();
return 0;
}
¿Sera que ya no es necesario usar esa cabecera? Que alguien me explique que diferencia hay entre usarla o no, por favor, gracias.