vecteur vs liste dans la STL

J'ai remarqué dans l'efficacité de la STL qui

vecteur est le type de séquence
doit être utilisé par défaut.

Qu'est ce que ça veut dire? Il semble ignorer que l'efficacité vector peut rien faire.

Quelqu'un pourrait-il me proposer un scénario où vector n'est pas une option réalisable mais list doit être utilisé?

  • Si ce n'est pas ce que vous avez demandé, il est intéressant de souligner que la valeur par défaut vecteur signifie également que vous pouvez facilement interagir avec des vieux code, bibliothèques C, ou non-des bibliothèques de modèles, depuis le vecteur est un mince wrapper autour de la "traditionnelle" de la gamme dynamique d'un pointeur et la taille.
  • Bjarne Strostrup effectivement fait un test où il nombres aléatoires générés et puis ajoutés à une liste et un vecteur respectivement. Les insertions ont été faites pour que la liste/vecteur a été commandé à tout moment. Même si c'est généralement "liste de domaine" le vecteur a surclassé la liste par une marge importante. La raison étant que la mémoire d'accès est lent et la mise en cache fonctionne mieux pour les données séquentielles. Tout est disponible dans son discours de "GoingNative 2012"
  • baptiste-wicht.com/2012/12/cpp-benchmark-vector-list-deque
  • Si vous voulez voir la keynote par Bjarne Stroustrup que @échapper mentionné, je l'ai trouvé ici: youtu.être/OB-bdWKwXsU?t=2672
InformationsquelleAutor skydoor | 2010-02-05