19Fermer21
WarptenLe 23/08/2017 à 13:48
Entre devoir trier un conteneur et passer a un conteneur qui trie a l'insertion, le choix ne se fait pas.

Quand aux foreach...

for (auto const& value : container

Et si tu te plains de l'absence de copie, l'idee c'est qu'en C++ on evite les macros, on n'est pas en C ou on peut se permettre de cacher le fonctionnement d'une macro derriere des directives absolument immondes. Il reste des cas ou c'est necessaire pour eviter de copier-coller comme un malade, mais dans l'ensemble, je prefere copier moi-meme et savoir POURQUOI je copie plutot qu'utiliser des macros qui ne disent pas explicitement le detail de ce qu'elles font et me retrouver avec une utilisation de memoire de cingle parce qu'une macro au nom assez innocent fait un truc que je ne veux pas.

Et si t'as besoin d'une copie, auto containerCopy(container) et tu peux iterer dessus...

Pour les vecteurs, si tu veux les trier... std::set<T>. Tu perds les valeurs en double, mais des valeurs en double n'ont aucun sens dans un contexte de tri.
Eti si tu as simplement besoin de valeurs uniques sans tri, std::unordered_set<T>