Questions marquées «stl»

La bibliothèque de modèles standard, ou STL, est une bibliothèque C ++ de conteneurs génériques, d'itérateurs, d'algorithmes et d'objets de fonction. Lorsque le C ++ a été normalisé, de grandes parties de la STL ont été adoptées dans la bibliothèque standard, et ces parties de la bibliothèque standard sont aussi parfois appelées à tort collectivement «la STL».


12
Copier les valeurs de la carte dans le vecteur dans STL
Je me fraye un chemin à travers Effective STL pour le moment. Le point 5 suggère qu'il est généralement préférable d'utiliser les fonctions de membre de plage à leurs homologues à élément unique. Je souhaite actuellement copier toutes les valeurs d'une carte (c'est-à-dire - je n'ai pas besoin des clés) …
85 c++  stl  containers 


4
Conteneur STL avec un type spécifique comme argument générique
Existe-t-il un moyen de créer une fonction qui prend un conteneur avec un type spécifique (disons std::string) comme paramètre void foo(const std::container<std::string> &cont) { for(std::string val: cont) { std::cout << val << std::endl; } } et l'appeler pour chaque type de conteneur stl en entrée? comme ci-dessus? std::set<std::string> strset; std::vector<std::string> …

4
Est-il valide d'utiliser std :: transform avec std :: back_inserter?
Cppreference a cet exemple de code pour std::transform: std::vector<std::size_t> ordinals; std::transform(s.begin(), s.end(), std::back_inserter(ordinals), [](unsigned char c) -> std::size_t { return c; }); Mais cela dit aussi: std::transformne garantit pas l'application dans l'ordre de unary_opou binary_op. Pour appliquer une fonction à une séquence dans l'ordre ou pour appliquer une fonction qui …

3
Un moyen de compilation pour déterminer le type d'argument le moins cher
J'ai un modèle qui ressemble à ceci template <typename T> class Foo { public: Foo(const T& t) : _t(t) {} private: const T _t; }; Existe-t-il un moyen de métaprogrammation de modèle avisé pour éviter d'utiliser une référence const dans les cas où le type d'argument est trivial comme un …
15 c++  stl 


1
`String.assign (string.data (), 5)` est-il bien défini ou UB?
Un collègue voulait écrire ceci: std::string_view strip_whitespace(std::string_view sv); std::string line = "hello "; line = strip_whitespace(line); J'ai dit que le retour string_viewme mettait mal à l'aise a priori , et en plus, le pseudonyme ici me semblait UB. Je peux dire avec certitude que line = strip_whitespace(line)dans ce cas est …

3
Puis-je utiliser std :: transform en place avec une politique d'exécution parallèle?
Si je ne me trompe pas, je peux faire std::transformfonctionner en place en utilisant la même plage qu'un itérateur d'entrée et de sortie. Supposons que j'ai un std::vectorobjet vec, alors j'écrirais std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) en utilisant une opération unaire appropriée unary_op. En utilisant la norme C ++ 17, je voudrais exécuter la …

1
Fuite de mémoire pendant unordered_map :: insert exception KeyEqual avec GCC - rompre la garantie de sécurité d'exception forte?
J'utilise GCC 7.3.1, mais aussi testé sur coliru, qui je crois est la version 9.2.0. Construisez avec les éléments suivants: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Voici rai.cpp: #include <iostream> #include <unordered_map> int main() { try { struct MyComp { bool operator()(const std::string&, const std::string&) const { throw std::runtime_error("Nonono"); } }; std::unordered_map<std::string, …
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.