Cómo asignar un arreglo dinámicamente usando una clase en C++

Escrito por g.s. jackson | Traducido por juliana star
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo asignar un arreglo dinámicamente usando una clase en C++
La asignación de memoria dinámica en C++ permite la creación de arreglos de tamaño variable y estructuras de datos flexibles. (Jupiterimages/Photos.com/Getty Images)

En la programación básica de C++ las variables y los arreglos son declarados por el programador directamente en el código. Sin embargo, al construir estructuras de datos como arreglos redimensionados dinámicamente, el programador debe aprender a asignar memoria dinámicamente durante la ejecución del código. Los arreglos asignados de esta forma tienen algunos beneficios, como no necesitar una longitud constante en su declaración. El programador puede asignar arreglos de tipos de datos escalares y clases creadas por el usuario de forma idéntica. Usando punteros y palabras clave integradas en la librería estándar, C++ permite que la asignación y eliminación de memoria sea sencilla.

Otras personas están leyendo

Necesitarás

  • Un editor de textos
  • Un compilador de C/C++ (como Microsoft Visual Studio o GCC)

Lista completaMinimizar

Instrucciones

  1. 1

    Crea un puntero del tipo de dato que contendrá el arreglo. Por ejemplo, para crear dinámicamente unos arreglos de enteros es necesario que exista un puntero de tipo entero para hacer referencia al arreglo:

    int * arr_ptr;

    El puntero "arr_ptr" ahora permitirá que un programador haga referencia a la memoria interna durante el tiempo de ejecución.

  2. 2

    Usa el puntero para asignar memoria. La palabra clave "new", que es específica de las librerías de C++ (y no está disponible en C estándar), reclama memoria durante la ejecución para uso del puntero de la invocación:

    arr_ptr = new int [6];

    Aquí, la palabra clave "new" toma un bloque de seis secciones de memoria del tamaño de un entero. Sin embargo, a diferencia de los arreglos declarados antes de la ejecución, los arreglos dinámicos pueden declararse con entradas de variables:

    int i = 6; arr_ptr = new int [i];

    Esto permite que el programador genere arreglos que puedan cambiar de tamaño en base a las necesidades en vez de a la designación de espacio predeterminado.

  3. 3

    Asigna un arreglo de tipos de datos creados por el usuario. Siguiendo el procedimiento de asignación de memoria de C++, el programador puede crear arreglos de tipos de datos declarados en clases separadas:

    int i = 5; newClass * class_ptr; class_ptr = new newClass [i];

    El puntero "class_ptr" hará referencia a una variable del tipo de dato "newClass", que probablemente fue definida en una descripción de clase de otro archivo.

  4. 4

    Elimina el arreglo. Cuando un arreglo ya no sea necesario (o haya sido copiado en otro arreglo, posiblemente durante una operación de cambio de tamaño), el programador debe asegurarse de eliminarlo. La memoria asignada que no se elimina pero ya no tiene referencia puede ocupar 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]; delete class_ptr[];

    Ahora el arreglo referenciado por "class_ptr" será eliminado y la memoria liberada para otros usos.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles