Créer un tableau de structures en C++

  1. Utiliser la déclaration de tableau de style C pour créer un tableau de structs de longueur fixe
  2. Utilisez std::vector et le constructeur de liste d’initialisation pour créer un tableau de structs de longueur variable

Cet article présente plusieurs méthodes pour créer un ensemble de structures en C++.

Utiliser la déclaration de tableau de style C pour créer un tableau de structs de longueur fixe

Un tableau de longueur fixe de structs peut être déclaré en utilisant la notation de tableau de style C. Dans ce cas, nous avons défini une struct arbitraire nommée Company avec plusieurs données membres et initialisé un tableau de 2 éléments. Le seul inconvénient de cette méthode est que le tableau déclaré est un objet brut sans aucune fonction intégrée. Le côté positif est qu’il peut être plus efficace et plus rapide dans la structure des données que les conteneurs de la bibliothèque C++.

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

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

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;
}

Production :

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


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

Utilisez std::vector et le constructeur de liste d’initialisation pour créer un tableau de structs de longueur variable

Alternativement, nous pouvons utiliser un conteneur std::vector pour déclarer un tableau de variables qui fournit de multiples méthodes intégrées pour la manipulation des données. L’objet std::vector peut être initialisé avec la même notation que dans l’exemple précédent. De nouveaux éléments peuvent être ajoutés au tableau en utilisant la méthode traditionnelle push_back, et le dernier élément supprimé avec pop_back. Dans cet exemple, les éléments sont imprimés à la console un par un.

Notez que les membres de la liste d’initialisation doivent inclure des accolades extérieures pour une affectation et un formatage corrects.

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

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

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;
}

Production :

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


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

Article connexe - C++ Array

  • Retourner le pointeur vers le tableau en C++
  • Comparer les tableaux en C++