Saltar al contenido principal
eLearner.app
Módulo 5 · Lección 1 de 211/18 en el curso~12 min
Lecciones del módulo (1/2)

Arrays y Vectores

En C++, la gestión de colecciones de datos se realiza principalmente a través de dos herramientas: los arrays de estilo C (C-style arrays) y los vectores (std::vector). Comprender la diferencia entre la memoria estática y dinámica es fundamental para escribir código eficiente.


1. Arrays Estáticos (C-style Arrays)

Un array es una colección de elementos del mismo tipo almacenados en posiciones contiguas de memoria. El tamaño de un array estático debe conocerse en el momento de la compilación y no puede modificarse posteriormente:

Code
int grades[5] = {18, 22, 25, 28, 30}; // Array di 5 interi

Características principales:

  • Tamaño fijo: No es posible añadir o eliminar elementos en tiempo de ejecución (runtime).
  • Asignación en el Stack: Son muy rápidos de asignar y liberar.
  • Acceso: Se realiza mediante el operador de índice [] (ej. grades[0] para el primer elemento).

2. Vectores Dinámicos (std::vector)

La Biblioteca de Plantillas Estándar (STL) de C++ proporciona la clase std::vector, que representa un array dinámico. Para utilizarla es necesario incluir la cabecera <vector>:

Code
#include <vector>

std::vector<int> numbers; // Crea un vettore vuoto di interi

Operaciones comunes:

  • Añadir al final: El método .push_back(valore) inserta un elemento al final del vector, reasignando automáticamente la memoria si es necesario.
  • Tamaño: El método .size() devuelve el número de elementos actualmente presentes en el vector.
  • Acceso seguro: Además del operador [], se puede usar el método .at(indice) (ej. numbers.at(0)), que lanza una excepción si el índice está fuera de los límites.
Code
std::vector<int> scores = {90, 85};
scores.push_back(95); // scores ora contiene {90, 85, 95}
std::cout << scores.size(); // Stampa 3

Pruébalo tú mismo

Ejercicio#cpp.m5.l1.e1
Intentos: 0Cargando...

Declara un std::vector de enteros llamado numbers. Añade en su interior los valores 10, 20 y 30 usando el método .push_back(), finalmente imprime su tamaño usando numbers.size().

Cargando editor...
Mostrar pista

Declara el vector con `std::vector<int> numbers;`, inserta los tres números con `.push_back(valore)`y imprímelo con`std::cout << numbers.size();`.

Solución disponible después de 3 intentos

Ejercicio#cpp.m5.l1.e2
Intentos: 0Cargando...

En el main se define un array grades de 5 elementos. Escribe un bucle for para calcular la suma de todos los elementos del array, almacénala en la variable sum y imprímela con std::cout.

Cargando editor...
Mostrar pista

Usa un bucle `for (int i = 0; i < 5; ++i)`y suma cada elemento dentro del bucle con`sum += grades[i];`.

Solución disponible después de 3 intentos

Cuestionario#cpp.m5.l1.q1
Listo

¿Cuál es el método correcto para añadir un elemento al final de un std::vector en C++?

Code
std::vector<int> numbers; // come aggiungere il valore 50?
Opciones de respuesta