Ceci est une ancienne révision du document !
Chapitre précédent | Sommaire principal | Chapitre suivant |
---|
La bibliothèque standard propose de nombreux conteneurs de données. Pour le moment, vous avez vu principalement std::vector
et 'std::string''. Ce chapitre présente les autres collections de la bibliothèque standard et leurs fonctionnalités de base.
#include <iostream> #include <vector> #include <map> int main() { using data_t = std::pair<int, std::string>; std::vector<data_t> v { { 0x8cc6, "toto" }, { 0x8b49, "titi" }, { 0x4b2e, "tata" } }; for (auto & p: v) std::cout << p.first << ' ' << p.second << std::endl; std::cout << std::endl; std::map<int, std::string> m { { 0x8cc6, "toto" }, { 0x8b49, "titi" }, { 0x4b2e, "tata" } }; for (auto & p: m) std::cout << p.first << ' ' << p.second << std::endl; }
affiche :
36038 toto 35657 titi 19246 tata 19246 tata 35657 titi 36038 toto
Conteneurs séquentiel (vector, array, list, etc) et associatif (map, set, unordered, etc). Mémoire contiguë, liste chaînée.
Construction (par défaut, par copie, reserve/resize). Size, capacité, empty, shrink_to_fit. swap
Ajout et suppression d'éléments. L'idiome remove-erase. emplace vs push/insert
Complexité algo
Accès aux éléments (random access, front, back)
Autres fonctions membre (find, count, etc)
Itérateurs
allocator, data()
Chapitre précédent | Sommaire principal | Chapitre suivant |
---|