Cómo hacer una matriz dinámica en C ++ sin usar vectores

Esta es la implementación real detrás de los vectores.

Felicidades

Me alegro de que vayas y trates de aprender qué sucede en segundo plano.

Por lo tanto, creo que estudió C ++ en algún sitio en línea o en otro lugar y, por lo tanto, no se utiliza mediante el uso de punteros directamente para la asignación de memoria dinámica.

Entonces Vector es una clase creada en c ++ y se usa para implementar directamente la asignación dinámica de memoria sin conocer los detalles de fondo. Aquí hay un pequeño tutorial sobre la asignación dinámica de memoria en c ++.

  1. ¿Qué es la asignación dinámica de memoria?

La asignación de memoria dinámica es el medio por el cual cualquier programa puede obtener memoria durante el tiempo de ejecución. En palabras simples, mientras que la memoria declarada normalmente se decide al compilarse, utilizando el método de asignación dinámica de memoria puede asignar memoria cuando el programa se ejecuta según las necesidades del usuario.

Para esta tarea, C ++ proporciona dos palabras clave

  • Nuevo : se utiliza para asignar memoria al programa
  • Eliminar : – Se utiliza para liberar la memoria asignada.

hasta que no libere la memoria usando borrar, la memoria está reservada para el programa hasta que el programa salga.

2. Cómo se implementa.

entonces básicamente se hace por este método.

variable de puntero = nuevo tipo de datos;

La variable de puntero se usa ya que las variables normales asignan automáticamente memoria estáticamente, mientras que el puntero solo da una dirección y el bloque al que apunta se asigna usando new .

Por lo tanto, cada vez que llame a este bloque de memoria de instrucción señalando, el puntero se asignará y podrá usarse. Si va a incrementar el puntero y luego usar nuevamente la nueva palabra clave, se asignará otro bloque, por lo tanto, se hace dinámicamente ahora.

También puede crear una matriz de tamaño dinámico utilizando el método que dijo en su pregunta

{
tamaño int;
cin >> tamaño;
int array * = nuevo int [tamaño];
}

ahora Vector solo implementa esto con algunas cosas adicionales.

También debe preferir algunos buenos libros o temas de Google sobre asignación dinámica de memoria, pila, colas, etc.

Lo estudié de Ciencias de la Computación con C ++ por Sumita Arora Clase XII.

Dado que en realidad es un tema muy amplio, le aconsejo que lo estudie conscientemente en lugar de confiar en algunas respuestas de Quora.

Gracias si ayuda de alguna manera.

La matriz dinámica es una matriz que puede aumentar el tiempo de ejecución.

Si no desea utilizar el vector STL, ¿qué le parece implementar su propia clase de vectores?

En lugar de usar esta tradición, puede usar la lista de matrices.