“Conocimiento Programación>C /C + + Programming

Cómo asignar dinámicamente una matriz mediante clases en C + +

2012/7/2
A base C + + de programación, variables y matrices se declaran por el programador directamente en el código . Sin embargo , en la construcción de estructuras de datos tales como matrices de cambio de tamaño dinámicamente , el programador debe aprender a asignar dinámicamente la memoria durante la ejecución de código. Arrays asignados de esta manera tienen algunas ventajas , como la longitud no constante en la declaración . El programador puede asignar arrays de tipos de datos escalares y clases creadas por el usuario de forma idéntica. El uso de punteros y palabras clave incorporadas en la biblioteca estándar , C + +, hará que la asignación de memoria y eliminación sencilla . Cosas que necesitará
Editor de texto
C /C + + Compiler (como Microsoft Visual Studio o GCC )
Mostrar más instrucciones
1

Crear un puntero del Tipo de datos de la matriz contendrá . Por ejemplo, para crear dinámicamente una matriz de enteros , un puntero entero debe existir para hacer referencia a la matriz:

int * arr_ptr ;

El puntero " arr_ptr " permitirá ahora a un programador para hacer referencia a lo profundo memoria durante la ejecución .
2

Utilice el puntero para asignar memoria . La "nueva " palabra clave , que es específica de las bibliotecas ( + y no está disponible en la norma C ) C + afirma memoria durante la ejecución para el uso del puntero llamado :

arr_ptr = new int [ 6 ] ;
< p> En este caso, la "nueva" palabra toma un bloque de seis tramos enteros de tamaño de la memoria. Sin embargo , a diferencia de las matrices declaradas antes de la ejecución, matrices dinámicas se pueden declarar con entrada variable :

int i = 6 ;


arr_ptr = new int [ i];

permite al programador crear matrices que pueden cambiar el tamaño de la base de la necesidad más que la designación espacio predeterminado .
3

Asignar un conjunto de tipos de datos creados por el usuario . Después de C + + procedimiento de asignación de memoria , el programador puede crear matrices de tipos de datos declarados en clases separadas :

int i = 5 ;

NewClass * class_ptr ;

class_ptr = nueva NewClass [ i]; .

el puntero " class_ptr " hará referencia a una variable del tipo de datos " NewClass " , lo más probable se define en una descripción de la clase en otro archivo
4

Eliminar la array. Cuando ya no se necesita una matriz (o ha sido copiado en otra matriz , posiblemente durante una operación de cambio de tamaño ), el programador debe asegurarse de eliminarlo. Asignado memoria que no se borra , pero ya no hace referencia , se ocupan memoria valiosa y , con el tiempo , causar lo que se conoce como pérdida de memoria

int i = 5 ; .

NewClass * class_ptr ;

class_ptr = new NewClass [ i];

class_ptr delete [];

Ahora , la matriz de referencia " class_ptr " se borrará , y la memoria liberada para otros usos.

C /C + + Programming
¿Cómo funciona la memoria temporal?
Cómo crear auto_ptr Sintaxis
Cómo introducir un retraso en segundos para C + +
Cómo introducir una mezcla de números y letras de un archivo en una matriz
Cómo utilizar OpenGL en Visual C
Cómo utilizar C + + plantillas de clase
Cómo hacer una matriz de cadenas
Cómo convertir a hexadecimal utilizando C + +
Conocimiento de la computadora © http://www.ordenador.online