Au sujet des avantages de la STL
Cette discussion dérive de structure dedonnée et tableau et démarée suite à l'intervention de davidbrcz
Citation:
Envoyé par
Davidbrcz
Plus de problème de gestion de la mémoire, enveloppe RAII sur tes données (comprendre que la destruction se fait automatiquement)
Exemple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
#include <iostream>
#include <string>
#include <vector>
#include <limits>
using namespace std;
struct foo{
string x;
string y;
};
int main ()
{
short i, a;
cout << "Longueur du tableaux : ";
cin >> a;
std::vector<foo> pointer(a); //ici on réserve un tableau pour a objet, mais on pourrait en ajouter au fur et à mesure.
cin.ignore(numeric_limits<streamsize>::max(), '\n');
for(i = 0 ; i < a ; i++){
cout << "Entrez une phrase pour tableau 1 array " << i << " : ";
getline(cin, pointer[i].x);
}
for(i = 0 ; i < a ; i++){
cout << "Entrez une phrase pour tableau 2 array " << i << " : ";
getline(cin, pointer[i].y);
}
for(i = 0 ; i < a ; i++){
cout << pointer[i].x << endl;
}
for(i = 0 ; i < a ; i++){
cout << pointer[i].y << endl;
}
return 0;
} |
Les vectors, c'est bon, il faut en manger (et la STl en général) car ca offrent plein de possibilité. Ajout d'élement simplifié, accès à la taille de la collection,...
Recherche sur google et une fois que tu y as gouté, tu ne t'en passes plus.
=====================================================================================================
=====================================================================================================
Citation:
Envoyé par
Davidbrcz
Ajout d'élement simplifié,
C'est peut être pas la caractéristique que je mettrais en premier, ça...
Les vector<> c'est bien tant que tu ajoutes des éléments à la fin, mais pour tous les autres cas, c'est pas adapté (il faut des queue ou des lists).
Pareil pour les suppressions d'ailleurs (la mémoire n'est jamais récupérée, dans un vector, à moins de recourir à des trucs).
Donc... les vecteurs c'est bien pour allouer des tableaux de taille fixe, déterminée à l'exécution, mais pour les tableaux dont la taille varie, gaffe!
Francois