En general, cuando se está codificando, tiene que especificar la cantidad de variables que estarán en su programa, pero, después de compilar, no se puede cambiar la cantidad de ellos. La memoria dinámica nos permite asignar memoria (del montón) y liberarla mientras que nuestro programa se está ejecutando.
Para ello, vamos a utilizar el nueva y Eliminar operadores y algunos punteros. Recuerde siempre para liberar la memoria asignada, de lo contrario habrá una pérdida de memoria. Los tipos deben ser los mismos Ejemplo:. Estamos haciendo un juego, por lo que pedimos al jugador la cantidad de monstruos que él querría pelear con CMonster * ptrMonsters = new CMonster [nNúmero]; //Para acceder a los objetos: ptrMonsters [índice] -> Lucha (); //Al igual que un array normal. //Cuando hayamos terminado liberamos la memoria. delete [] ptrMonsters; //Recuerda la forma gama de eliminación. ptrMonsters = NULL; //Establecemos que en nulo por lo que no estará apuntando a la memoria que no está asignada. return 0;} Recuerde: - Cuando usamos nuevo, España debemos usar borrar - Cuando usamos Evitar pérdidas de memoria. Situación 1. Situación 2. delete ptrNewVariable; //Eliminar la última memoria asignada, pero no el primero. flotar * ptrNewVariable = new int.; //Wrong.float* PtrNewVariable = new float; //Right.
int* PtrNewVariable = new int; //Tenemos un nuevo int variabledelete ptrNewVariable; //Liberamos que
nt main () {cout. int nNúmero; //Guardar el número en una variable de cin >> nNúmero; //Declaramos un puntero que apunte a un objeto CMonster. CMonster es una clase hipotética.
vacío Buscar () {int * ptrNewVariable = new int [5]; //Variable asignada dinámico Nuevo. //No usamos delete [] ptrNewVariable. Oopss. //Fin de la función. El puntero se elimina y la dirección de memoria se pierde. Pérdida de memoria}
int * ptrNewVariable = new int.; //El puntero tiene el address.ptrNewVariable variable = new int; //Pérdida de memoria aquí, el puntero contiene la nueva dirección de la variable, //pero perdió la anterior, por lo que no será capaz de liberar it.
iPhone Core Data Tutorial Parte 1
NET - C # - clase ayudante Mailer pa…