Crear un array de estructuras en C++

Jinku Hu 12 octubre 2023
  1. Usar la Declaración de array de Estilo C para crear un array de estructuras de longitud fija
  2. Use std::vector y el Constructor de Listas de Inicialización para crear un array de longitudes variables de estructuras
Crear un array de estructuras en C++

Este artículo demostrará múltiples métodos de cómo crear un array de estructuras en C++.

Usar la Declaración de array de Estilo C para crear un array de estructuras de longitud fija

del array de longitudes fijas de las estructuras puede ser declarada usando la notación de array de estilo C. En este caso, definimos una estructura arbitraria llamada Company con múltiples miembros de datos e inicializamos un array de 2 elementos. La única desventaja de este método es que del array declarada es un objeto en bruto sin ninguna función incorporada. El lado positivo es que puede ser más eficiente y rápido que los contenedores de la biblioteca de C++.

#include <iostream>
#include <string>
#include <vector>

using std::cout;
using std::endl;
using std::string;
using std::vector;

struct Company {
  string name;
  string ceo;
  float income;
  int employess;
};

int main() {
  Company comp_arr[2] = {{"Intel", "Bob Swan", 91213.11, 110823},
                         {"Apple", "Tim Cook", 131231.11, 137031}};

  for (const auto &arr : comp_arr) {
    cout << "Name: " << arr.name << endl
         << "CEO: " << arr.ceo << endl
         << "Income: " << arr.income << endl
         << "Employees: " << arr.employess << endl
         << endl;
  }

  return EXIT_SUCCESS;
}

Resultado:

Name: Intel
CEO: Bob Swan
Income: 91213.1
Employees: 110823


Name: Apple
CEO: Tim Cook
Income: 131231
Employees: 137031

Use std::vector y el Constructor de Listas de Inicialización para crear un array de longitudes variables de estructuras

Alternativamente, podemos utilizar un contenedor std::vector para declarar un array variable que proporcione múltiples métodos incorporados para la manipulación de datos. El objeto std::vector puede ser inicializado con la misma notación del ejemplo anterior. Se pueden añadir nuevos elementos a del array usando el método tradicional push_back, y el último elemento eliminado con pop_back. En este ejemplo, los elementos se imprimen en la consola uno por uno.

Observe que los miembros de la lista de inicialización deben incluir llaves rizadas exteriores para una correcta asignación y formato.

#include <iostream>
#include <string>
#include <vector>

using std::cout;
using std::endl;
using std::string;
using std::vector;

struct Company {
  string name;
  string ceo;
  float income;
  int employess;
};

int main() {
  vector<Company> comp_arr = {{"Intel", "Bob Swan", 91213.11, 110823},
                              {"Apple", "Tim Cook", 131231.11, 137031}};

  for (const auto &arr : comp_arr) {
    cout << "Name: " << arr.name << endl
         << "CEO: " << arr.ceo << endl
         << "Income: " << arr.income << endl
         << "Employees: " << arr.employess << endl
         << endl;
  }

  return EXIT_SUCCESS;
}

Resultado:

Name: Intel
CEO: Bob Swan
Income: 91213.1
Employees: 110823


Name: Apple
CEO: Tim Cook
Income: 131231
Employees: 137031
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artículo relacionado - C++ Struct

Artículo relacionado - C++ Array