Als «stl» getaggte Fragen

Die Standard Template Library (STL) ist eine C ++ - Bibliothek mit generischen Containern, Iteratoren, Algorithmen und Funktionsobjekten. Wenn C ++ standardisiert wurde, wurden große Teile der STL in die Standardbibliothek übernommen, und diese Teile in der Standardbibliothek werden manchmal auch fälschlicherweise gemeinsam als "STL" bezeichnet.


2
Was ist der Vorteil von Multimap gegenüber der Karte von Vektoren?
Ich verstehe nicht, warum Multimap existiert, wenn wir eine Karte von Vektoren oder eine Karte von Mengen erstellen können. Für mich sind nur Unterschiede: Verwendung equal_rangein multimap für Elemente eines Schlüssels und in der Karte von Vektoren bekommen wir einfach nutzen []Operator und Vektor von Elementen haben. Verwendung multimap.insert(make_pair(key,value))in Multimap …
72 c++  stl  map  multimap 









4
Wie vermeide ich Speicherverluste, wenn ich einen Vektor von Zeigern auf dynamisch zugewiesene Objekte in C ++ verwende?
Ich verwende einen Vektor von Zeigern auf Objekte. Diese Objekte werden von einer Basisklasse abgeleitet und dynamisch zugeordnet und gespeichert. Zum Beispiel habe ich so etwas wie: vector<Enemy*> Enemies; und ich werde von der Enemy-Klasse ableiten und dann dynamisch Speicher für die abgeleitete Klasse zuweisen, wie folgt: enemies.push_back(new Monster()); Was …
68 c++  stl  pointers  vector  derived 

4
STL-Container mit einem bestimmten Typ als generisches Argument
Gibt es eine Möglichkeit, eine Funktion zu erstellen, die einen Container mit einem bestimmten Typ (z. B. std::string) als Parameter verwendet? void foo(const std::container<std::string> &cont) { for(std::string val: cont) { std::cout << val << std::endl; } } und es für jede Art von stl-Container als Eingabe aufrufen? wie oben? std::set<std::string> …

4
Ist es gültig, std :: transform mit std :: back_inserter zu verwenden?
Cppreference hat diesen Beispielcode für 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; }); Es heißt aber auch: std::transformgarantiert nicht die ordnungsgemäße Anwendung von unary_opoder binary_op. Verwenden Sie zum Anwenden einer Funktion auf eine Sequenz in der angegebenen Reihenfolge oder zum Anwenden einer Funktion, …


2
Wie funktioniert ein Vektor als Schlüssel intern in C ++?
Diese SO-Antwort besagt, dass die STL-Karte mit einem Vektor für den Schlüssel Vektor als Schlüssel verwendet werden kann. Wenn wir also einen Vektor als Schlüssel verwenden. Wie funktioniert das tatsächlich, da der Schlüssel eindeutig sein mapmuss? Wenn wir also einen anderen Vektor mit denselben Elementen einfügen, wird die Überprüfung auf …
14 c++  arrays  dictionary  vector  stl 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.