Les classes conteneurs de STL rendent la programmation productif, sûr et robuste. Ils sont des tableaux intelligents qui effectuent allocation de mémoire automatiquement , permettant de redimensionner , vous permettent de passer des variables par référence, insérer des éléments à n'importe quel moment , le tout avec efficacité flamboyant. Ils fournissent une bonne raison de passer de C avec ses tableaux muets à C + + . STL propose deux types de classes de conteneurs : simple et associative , où une clé est associé à chaque objet stocké . Choses que vous devez
connaissances de base du langage C + +
compilateur C + + et de préférence un environnement de développement intégré
Afficher plus d' instructions
1
Lire et éventuellement mémoriser les deux catégories des classes de conteneurs . Les mémoriser jamais fait de mal à personne et sera bénéfique pour vous sur le long terme
conteneurs simples: . Vecteur <> , listes < > , <>, pile file d'attente <>, deque < >
associatifs Conteneurs: carte < > , set <> , multimap <> , multiset <>
2
Renseignez-vous sur toutes les classes de conteneurs en étant montré comment un simple conteneur peut être utilisé. Ce tutoriel va illustrer les méthodes de vecteur < > .
3
Attribuer une taille au vecteur . Vous pouvez attribuer taille du vecteur en utilisant l'un des constructeurs surchargés . En outre, vous pouvez utiliser la réserve () ou méthode assign () après avoir déclaré un vecteur. Toutes les méthodes sont indiquées ci-dessous : Images vectorielles arr (50); //spécifier la capacité Images vectorielles arr (50, 17); //spécifier la capacité et de donner tous les éléments d'une valeur par défaut (17) Photos vecteur arr2 ( arr ) ; //initialiser un vecteur d'une autre vectorielles libres vecteur vec ;
vec.reserve (100); //ou l'utilisation de réserve () pour allouer de la mémoire
4
itérer à travers un vecteur. Vous pouvez le faire en utilisant l'indice Standard [ de l'opérateur ] ou par itérateurs , qui sont une particularité STL . Leurs capacités sont au-delà du cadre de ce tutoriel . Les extraits de code suivants montrent la taille (), begin () et les membres de gamme ():
//en utilisant l'indexation
norme for (int i = 0; } i cout
//utilisation d'itérateurs
pour ( vector < > :: iterator iter = vec.begin (); iter = vec.end (); ! iter + +) { cout
}
5
Ajouter un élément à la fin , supprimer cet élément, insérer un élément dans le milieu et retourner la taille du conteneur Vous pouvez effectuer toutes ces fonctions en utilisant le push_back (), pop_back (), insert () et size () méthodes , respectivement, comme indiqué ci-dessous : . < br > vec.push_back (35);
vec.pop_back ();
vec.insert (pos , 19) ; //POS est le cout Situation
6
Effacer les éléments à l'intérieur une gamme , effacer le reste des éléments et assurez-vous que le vecteur est vide. Pour cela, vous utilisez les fonctions de membre erase () , clear () et empty () .
vec.erase ( vec.begin () + 5, vec.end () - 5); //effacer tous les éléments sauf le premier et le dernier 5
vec.clear (); //effacer tous les éléments
si (true == vec.empty () ) {...} //check si vecteur est vide
7
Découvrez toutes les fonctions de membres proposés dans le vecteur <> Beaucoup sont communs à travers le reste des classes de conteneurs : .
_destroy (), _Eq (), _lt (), _Ucopy (), _Ufill (), assign ( ), à ( ) , begin () , back () , la capacité (), fin clear () , empty () , () , erase () , avant ( ) , get_allocator (), max_size (), insert () , opérateur = , opérateur [] , pop_back (), push_back (), rbegin (), déchirer (), réserve (), de redimensionnement ( ) , la taille ( ), swap (), ~ vecteur ().
8
Assurez -vous d'inclure le fichier d'en-tête vector.h en haut de votre fichier source avant de tester ce code pour vous-même. chaque classe conteneur possède son propre fichier d'en-tête . une liste <> nécessitera list.h , une file d'attente <> nécessitera queue.h , et ainsi de suite .