Créer un tableau de structures en C++
- Utiliser la déclaration de tableau de style C pour créer un tableau de structs de longueur fixe
-
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::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;
}
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::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;
}
Production :
Name: Intel
CEO: Bob Swan
Income: 91213.1
Employees: 110823
Name: Apple
CEO: Tim Cook
Income: 131231
Employees: 137031
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