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.

6
Wie aktualisiere ich std :: map nach der find-Methode?
Wie aktualisiere ich den Wert eines Schlüssels std::mapnach Verwendung der findMethode? Ich habe eine Map- und Iterator-Deklaration wie folgt: map <char, int> m1; map <char, int>::iterator m1_it; typedef pair <char, int> count_pair; Ich verwende die Karte, um die Anzahl der Vorkommen eines Charakters zu speichern. Ich verwende Visual C ++ …
87 c++  map  stl  stdmap 


3
Wie stelle ich eine Swap-Funktion für meine Klasse bereit?
Was ist der richtige Weg, um meine swapin STL-Algorithmen zu aktivieren ? 1) Mitglied swap. Does std::swapverwendete SFINAE Trick , um das Element zu verwenden swap. 2) Freistehend swapim gleichen Namespace. 3) Teilspezialisierung von std::swap. 4) Alle oben genannten. Danke dir. EDIT: Sieht so aus, als hätte ich meine Frage …
85 c++  algorithm  stl  swap 

15
Verwenden Sie std :: fill, um den Vektor mit zunehmenden Zahlen zu füllen
Ich möchte ein vector<int>using ausfüllen std::fill, aber anstelle eines Wertes sollte der Vektor Zahlen in aufsteigender Reihenfolge enthalten. Ich habe versucht, dies zu erreichen, indem ich den dritten Parameter der Funktion um eins iterierte, aber dies würde mir nur Vektoren geben, die mit 1 oder 2 gefüllt sind (abhängig von …
85 c++  stl 

12
Kopieren Sie die Kartenwerte in STL in den Vektor
Ich arbeite mich gerade durch Effective STL. Punkt 5 legt nahe, dass es normalerweise vorzuziehen ist, Bereichselementfunktionen gegenüber ihren Einzelelementgegenstücken zu verwenden. Ich möchte derzeit alle Werte in einer Karte (dh ich brauche die Schlüssel nicht) auf einen Vektor kopieren. Was ist der sauberste Weg, dies zu tun?
84 c++  stl  containers 

6
Warum brauche ich std :: get_temporary_buffer?
Für welchen Zweck sollte ich verwenden std::get_temporary_buffer? Standard sagt folgendes: Erhält einen Zeiger auf die Speicherung, der ausreicht, um bis zu n benachbarte T-Objekte zu speichern. Ich dachte, dass der Puffer auf dem Stapel zugewiesen wird, aber das ist nicht wahr. Nach dem C ++ Standard ist dieser Puffer eigentlich …

8
C ++ - Header wie Vektor können nicht in Android NDK aufgenommen werden
Wenn ich versuche, eine C ++ - Klasse wie einen Vektor in mein Android-NDK-Projekt aufzunehmen (mit NDK r5b, der neuesten Version), wird folgende Fehlermeldung angezeigt: Compile++ thumb : test-libstl <= test-libstl.cpp /Users/nitrex88/Desktop/Programming/EclipseProjects/STLTest/jni/test-libstl.cpp:3:18: error: vector: No such file or directory Andere Personen, die dieses Problem online gemeldet haben, haben durch Hinzufügen …

1
Was ist der Sinn von STL-Charakterzügen?
Ich stelle fest, dass in meiner Kopie der SGI STL-Referenz eine Seite über Charaktereigenschaften enthalten ist, aber ich kann nicht sehen, wie diese verwendet werden. Ersetzen sie die Funktionen string.h? Sie scheinen nicht von verwendet zu werden std::string, z. B. verwendet die length()Methode on std::stringnicht die Character Traits- length()Methode. Warum …

4
Wie wähle ich zwischen map und unordered_map?
Angenommen, ich wollte Daten mit einer Zeichenfolge als Schlüssel zuordnen. Welchen Container hätte ich wählen sollen mapoder unordered_map? unordered_mapnimmt mehr Speicherplatz in Anspruch, nehmen wir also an, dass Speicher kein Problem ist und das Problem die Geschwindigkeit ist. unordered_mapsollte im Allgemeinen eine durchschnittliche Komplexität von O (1) mit dem schlechtesten …

4
Wie kann ich einen eigenen Komparator für eine Karte erstellen?
typedef map<string, string> myMap; Beim Einfügen eines neuen Paares in myMapwird der Schlüssel stringzum Vergleichen durch einen eigenen Zeichenfolgenkomparator verwendet. Ist es möglich, diesen Komparator zu überschreiben? Zum Beispiel möchte ich den Schlüssel stringnach seiner Länge vergleichen, nicht nach dem Alphabet. Oder gibt es eine andere Möglichkeit, die Karte zu …
83 c++  stl  stdmap 

7
In std :: multiset gibt es eine Funktion oder einen Algorithmus, um nur ein Sample (unicate oder duplicate) zu löschen, wenn ein Element gefunden wird
Vielleicht ist dies ein Duplikat, aber ich habe keine Suche gefunden: Wenn erase(value)aufgerufen wird, werden std::multisetalle Elemente mit dem gefundenen Wert gelöscht. Die einzige Lösung, an die ich denken könnte, ist: std::multiset<int>::iterator hit(mySet.find(5)); if (hit!= mySet.end()) mySet.erase(hit); Das ist in Ordnung, aber ich dachte, es könnte besser sein. Irgendwelche Ideen …
83 c++  stl  multiset 

16
Wie implodiere ich einen Vektor von Strings in einen String (auf elegante Weise)
Ich suche nach der elegantesten Möglichkeit, einen String-Vektor in einen String zu implodieren. Unten ist die Lösung, die ich jetzt verwende: static std::string& implode(const std::vector<std::string>& elems, char delim, std::string& s) { for (std::vector<std::string>::const_iterator ii = elems.begin(); ii != elems.end(); ++ii) { s += (*ii); if ( ii + 1 != …
83 c++  string  stl  stdstring  implode 


12
char * vs std :: string in c ++ [geschlossen]
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
81 c++  stl  stdstring  arrays 

6
std :: vector :: resize () vs. std :: vector :: Reserve ()
Es ist ein Thread in den Kommentaren in diesem Beitrag über die Verwendung von std::vector::reserve()vs. std::vector::resize(). Hier ist der Originalcode: void MyClass::my_method() { my_member.reserve(n_dim); for(int k = 0 ; k < n_dim ; k++ ) my_member[k] = k ; } Ich glaube, um Elemente in das zu schreiben vector, ist …
80 c++  stl  vector 

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.