/*
EJEMPLO 11.1.
New y delete de tipo básico y cadena
Se asigna memoria dinámica a una cadena de caracteres
y a un entero; y se libera la memoria asignada.
*/
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
// para la cadena de caracteres
int lonCadena;
const char *Cadena = "Montes de Toledo en Castilla la Mancha";
char *pCadena;
lonCadena = strlen(Cadena);
// para el entero
int Entero=15;
int *pEntero;
// cadena de caracteres
pCadena = new char[lonCadena+1]; // memoria con una posicion fin cadena
strcpy(pCadena, Cadena); // copia Cadena a nueva área de memoria
// entero
pEntero = new int; // se reserva memoria para un entero
*pEntero = Entero; // se almacena en contenido de pEntero, 15
// cadena de caracteres
cout<<"pCadena = "<<pCadena<<endl;
cout<<"longitud = "<<lonCadena<<endl;
delete pCadena; // libera memoria de pCadena
// entero
cout<<"*pEntero = "<<*pEntero<<endl;
delete pEntero; // libera memoria de pEntero
return EXIT_SUCCESS;
}
/*
Salida:
pCadena = Montes de Toledo en Castilla la Mancha
longitud = 38
Entero=15
*/