0Pricing
C++ Academy · Lección

std::array de tamaño fijo

Un reemplazo seguro de los arrays de C

std::array de tamaño fijo es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.

Un array de C seguro

std::array<T, N> es un array de tamaño fijo que conoce su propio tamaño y se comporta como un contenedor propiamente dicho. Incluya <array>.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {1, 2, 3};
    std::cout << a[0] << " " << a.size() << "\n";
}

Conoce su tamaño

A diferencia de un array nativo, que se convierte en un puntero, std::array siempre informa de su longitud mediante size().

#include <iostream>
#include <array>
int main() {
    std::array<double, 4> a{};
    std::cout << a.size() << "\n"; // 4
}

Bucle for basado en rangos

Como es un contenedor propiamente dicho, puede iterarlo con un bucle for basado en rangos.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {10, 20, 30};
    for (int x : a) std::cout << x << " ";
    std::cout << "\n";
}

at() con comprobación de límites

at(i) lanza std::out_of_range cuando el índice no es válido, mientras que operator[] no comprueba los límites; elija según sus necesidades de seguridad.

#include <iostream>
#include <array>
int main() {
    std::array<int, 2> a = {1, 2};
    try { a.at(5); }
    catch (const std::out_of_range&) { std::cout << "out of range\n"; }
}

front, back y data

Accesores prácticos: front() y back() devuelven el primer y el último elemento; data() proporciona un puntero sin formato para las API de C.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {7, 8, 9};
    std::cout << a.front() << " " << a.back() << "\n";
}

Copiable por valor

std::array se copia correctamente mediante =, copiando todos sus elementos, a diferencia de los arrays nativos, que se convierten en punteros.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {1, 2, 3};
    std::array<int, 3> b = a; // full copy
    b[0] = 99;
    std::cout << a[0] << " " << b[0] << "\n"; // 1 99
}

Funciona con algoritmos

Los algoritmos estándar aceptan los iteradores de std::array; aquí lo ordenamos.

#include <iostream>
#include <array>
#include <algorithm>
int main() {
    std::array<int, 4> a = {4, 1, 3, 2};
    std::sort(a.begin(), a.end());
    for (int x : a) std::cout << x << " ";
    std::cout << "\n";
}

Rellenar y comparar

fill(value) establece todos los elementos; std::array también admite la comparación elemento a elemento mediante ==.

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a{};
    a.fill(5);
    std::array<int, 3> b = {5, 5, 5};
    std::cout << (a == b) << "\n"; // 1
}

El tamaño forma parte del tipo

La longitud N está incorporada en el tipo, por lo que una función que recibe std::array<int,3> no aceptará un array de tamaño 4. Aquí es donde std::span resulta útil más adelante.

Asignación en la pila

std::array almacena sus elementos en línea (normalmente en la pila), sin asignación en el montón, lo que lo hace rápido y predecible para datos de tamaño fijo.

Array frente a vector

Use std::array cuando el tamaño se conozca en tiempo de compilación y sea fijo. Use std::vector cuando el tamaño pueda cambiar durante la ejecución.

Comprobación rápida

Compruebe su comprensión de std::array.

Resumen

Ha aprendido lo siguiente sobre std::array:

  • Es un contenedor de tamaño fijo que conoce su tamaño y no requiere asignación en el montón.
  • at() comprueba los límites; [] no lo hace.
  • Se puede copiar y comparar, y funciona con algoritmos.
  • El tamaño N forma parte del tipo.

Preguntas frecuentes

¿La lección «std::array de tamaño fijo» es gratis?

Sí — el texto completo de «std::array de tamaño fijo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.

¿Qué aprenderé en «std::array de tamaño fijo»?

Un reemplazo seguro de los arrays de C Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C++ Academy?

No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «std::array de tamaño fijo»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C++ Academy?

Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. std::array de tamaño fijo
  2. Conceptos básicos de std::span
  3. Pasar spans a funciones
  4. Límites y subspans
← Volver a C++ Academy