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».


5
Utilisation du comparateur std :: set personnalisé
На этот вопрос есть ответы на Stack Overflow на русском : Компаратор для set J'essaie de changer l'ordre par défaut des éléments dans un ensemble d'entiers pour qu'ils soient lexicographiques au lieu de numériques, et je ne parviens pas à compiler les éléments suivants avec g ++: file.cpp: bool lex_compare(const …
109 c++  stl 

6
Pourquoi est-il possible de renvoyer un «vecteur» à partir d'une fonction?
Veuillez considérer ce code. J'ai vu ce type de code plusieurs fois. wordsest un vecteur local. Comment est-il possible de le renvoyer depuis une fonction? Pouvons-nous garantir qu'il ne mourra pas? std::vector<std::string> read_file(const std::string& path) { std::ifstream file("E:\\names.txt"); if (!file.is_open()) { std::cerr << "Unable to open file" << "\n"; std::exit(-1); …



10
Pourquoi std :: set n'a-t-il pas de fonction membre «contient»?
J'utilise beaucoup std::set<int> et je dois souvent simplement vérifier si un tel ensemble contient un nombre ou non. Je trouverais naturel d'écrire: if (myset.contains(number)) ... Mais à cause du manque de containsmembre, j'ai besoin d'écrire la lourde: if (myset.find(number) != myset.end()) .. ou le pas aussi évident: if (myset.count(element) > …
103 c++  stl  stdset 


6
string c_str () vs data ()
J'ai lu plusieurs endroits où la différence entre c_str()et data()(dans STL et d'autres implémentations) est qu'il c_str()est toujours terminé par zéro alors que data()ne l'est pas. Pour autant que je l'ai vu dans les implémentations réelles, ils font la même chose ou data()appellent c_str(). Qu'est-ce que j'oublie ici? Lequel est …
102 c++  stl  c-str 

5
Effacer des éléments d'un vecteur
Je souhaite effacer un élément d'un vecteur en utilisant la méthode d'effacement. Mais le problème ici est que l'élément n'est pas garanti de se produire une seule fois dans le vecteur. Il peut être présent plusieurs fois et je dois tous les effacer. Mon code est quelque chose comme ceci: …
101 c++  vector  stl  erase 

4
Accès aux éléments de carte const C ++
J'ai essayé d'utiliser l'opérateur [] pour accéder à l'élément dans une carte const C ++, mais cette méthode a échoué. J'ai aussi essayé d'utiliser "at ()" pour faire la même chose. Cela a fonctionné cette fois. Cependant, je n'ai trouvé aucune référence sur l'utilisation de "at ()" pour accéder à …
101 c++  stl  map  const 


2
Pourquoi std :: ssize () est-il introduit dans C ++ 20?
C ++ 20 a introduit lestd::ssize() fonction gratuite comme ci-dessous: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; Une implémentation possible semble utiliser static_cast, pour convertir la valeur de retour de la size()fonction membre de cl ass C en son équivalent signé. Depuis le size() fonction membre …
99 c++  stl  unsigned  signed  c++20 



8
vector :: at vs vector :: opérateur []
Je sais que at()c'est plus lent qu'à []cause de sa vérification des limites, qui est également discutée dans des questions similaires comme C ++ Vector at / [] operator speed ou :: std :: vector :: at () vs operator [] << résultats surprenants !! 5 à 10 fois plus …
95 c++  stl  stdvector 

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.