La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

STL Standard Template Library. 2 Introduction STL est une bibliothèque standard du C++ –fait partie du langage –tout le code est contenu dans les fichiers.

Présentations similaires


Présentation au sujet: "STL Standard Template Library. 2 Introduction STL est une bibliothèque standard du C++ –fait partie du langage –tout le code est contenu dans les fichiers."— Transcription de la présentation:

1 STL Standard Template Library

2 2 Introduction STL est une bibliothèque standard du C++ –fait partie du langage –tout le code est contenu dans les fichiers header, pas de librairies à linker –entièrement définie dans lespace de nommage std –repose sur sur le concept de généricité (template) permettant de paramétrer le type délément utilisé –particulièrement efficace

3 3 Organisation La librairie STL est organisée en plusieurs parties. Il existe principalement 3 types déléments : –les conteneurs permettent de contenir des données –les itérateurs permettent aux algorithmes de manipuler les conteneurs : récupérer une donnée et passer à la suivante –les algorithmes permettent de manipuler les données dun conteneur en accédant aux données via les itérateurs on rajoute –les strings qui définissent les chaînes de caractères comme un type normal (copie, assignation, comparaison, …)

4 4 Conteneurs Il s'agit de structures algorithmiques permettant : –d'organiser un ensemble de données de même type en séquence, –puis de parcourir ces données. Exemples : –les listes (list) –les tableaux (vector) –les listes triées (set) –les listes dassociations (map) La définition dun conteneur est indépendante du type des objets contenus On spécifie ce quil contient lors de la déclaration de la variable Allocation dynamique et automatique de la mémoire

5 5 Conteneurs … Ordonnés ( position indépendante de la valeur ) –Vecteur : tableau à 1 dimension –List : liste doublement chaînée Triés ( position dépendante de la valeur ) –Set/Multiset : ensemble –Map/Multimap : tableau associatif

6 6 List #include int main () { std::list l; l.push_front(3); l.push_front(2); l.push_back(4); l.pop_front(); l.pop_back(); std::cout << l.front() << std::endl; std::cout << l.back() << std::endl; return 0; } Comme pour tous les composants STL, il faut toujours se placer dans lespace de nommage std:: Insère un élément dans la liste Retire un élément de la liste Accède à un élément de la liste

7 7 Vector #include int main () { std::vector v; v.push_back(3); v.push_back(4); std::cout << v[0] << std::endl; v.at(1) = 5; std::cout << v.back() << std::endl; v.clear(); return 0; } Utilisation des vecteurs Insère un élément dans le vecteur Accède au 1er élément Accède au dernier élément du vecteur Supprime tous les éléments Modifie le 2è élément

8 8 Quelques méthodes communes Vider le conteneur : –void clear(); appelle le destructeur pour chaque objet dans le conteneur désalloue la mémoire utilisée Retourner le nombre déléments : –int size(); Tester si le conteneur est vide : –bool empty();

9 9 Itérateurs Cest une généralisation de la notion de pointeur. Il permet de parcourir en séquence les éléments dun conteneur sans avoir à se préoccuper du type du conteneur. TTTTTTT #include { std::vector v; // std::vector::iterator it1 = v.begin(); std::vector::iterator it2 = v.end(); } it1it2 v *it1

10 10 Itérateurs #include int main() { std::list liste; for (int i = 0; i < 10; i++) { liste.push_back (i); } std::list ::iterator it; for (it = liste.begin (); it != liste.end (); ++it) { int i = *it; std::cout << "i = " << i << std::endl; } return (0); } Déclaration 1er élément Pointe après le dernier élément

11 11 Choisir un conteneur List –si on a besoin dinsérer ou de supprimer au milieu –insertion en temps constant –accès au n-ième élément en itérant depuis le 1er Vector –si on a besoin daccéder au n-ième élément –insertion et suppression peuvent être coûteuses –Très efficace lorsquon a à parcourir le conteneur Map –sont des listes maintenues triées lors de linsertion de nouveaux éléments –listes associatives


Télécharger ppt "STL Standard Template Library. 2 Introduction STL est une bibliothèque standard du C++ –fait partie du langage –tout le code est contenu dans les fichiers."

Présentations similaires


Annonces Google