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.
- ¿Podría un juego como el terremoto ejecutarse en una computadora de 8 bits si se eliminan los límites de velocidad y memoria? ¿Y funcionaría en un carnero inclinado? ¿O solo direccionamiento de 32 bits?
- Cómo fusionar 8 archivos CSV (49 millones de filas cada uno) con una columna común, y exportar el resultado final a un CSV en una PC Core i7 8GB RAM
- ¿Qué sucede si borro la RAM de mi teléfono Android?
- ¿Qué tan notable es usar una computadora portátil con 16 GB de RAM frente a 32 GB de RAM?
- ¿La actualización de la RAM del portátil mejorará el rendimiento de los juegos? Porque la RAM es la única opción en las computadoras portátiles.
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 ++.
- ¿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.