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.

7
push_back vs emplace_back
Ich bin etwas verwirrt über den Unterschied zwischen push_backund emplace_back. void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& _Val); Da es eine push_backÜberlastung gibt, die eine R-Wert-Referenz nimmt, sehe ich nicht ganz, wozu der Zweck emplace_backwird?





14
So finden Sie heraus, ob ein bestimmter Schlüssel in einer C ++ std :: map vorhanden ist
Ich versuche zu überprüfen, ob sich ein bestimmter Schlüssel in einer Karte befindet und kann es etwas nicht: typedef map<string,string>::iterator mi; map<string, string> m; m.insert(make_pair("f","++--")); pair<mi,mi> p = m.equal_range("f");//I'm not sure if equal_range does what I want cout << p.first;//I'm getting error here Wie kann ich also drucken, was in …
450 c++  dictionary  stl 




9
Warum kann ich keinen Referenzvektor erstellen?
Wenn ich das mache: std::vector<int> hello; Alles funktioniert super. Wenn ich es jedoch stattdessen zu einem Referenzvektor mache: std::vector<int &> hello; Ich bekomme schreckliche Fehler wie Fehler C2528: 'Zeiger': Zeiger auf Referenz ist unzulässig Ich möchte eine Reihe von Verweisen auf Strukturen in einen Vektor einfügen, damit ich mich nicht …



14
Der beste Weg, um einen Subvektor aus einem Vektor zu extrahieren?
Angenommen, ich habe eine Größe std::vector(nennen wir es myVec) N. Was ist der einfachste Weg, einen neuen Vektor zu konstruieren, der aus einer Kopie der Elemente X bis Y besteht, wobei 0 <= X <= Y <= N-1? Zum Beispiel myVec [100000]durch myVec [100999]in einem Vektor der Größe 150000. Wenn …
295 c++  stl  vector  range 

23
Was ist der effizienteste Weg, um Duplikate zu löschen und einen Vektor zu sortieren?
Ich muss einen C ++ - Vektor mit möglicherweise vielen Elementen nehmen, Duplikate löschen und sortieren. Ich habe derzeit den folgenden Code, aber es funktioniert nicht. vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); Wie kann ich das richtig machen? Ist es außerdem schneller, zuerst die Duplikate zu löschen (ähnlich wie oben …
274 c++  sorting  vector  stl  duplicates 

4
Mitgliedsfunktionen std :: string length () und size ()
Ich war es, die Antworten für diese Lesung Frage und fand , dass es tatsächlich eine Methode aufgerufen ist length()für std::string(I immer verwendet size()). Gibt es einen bestimmten Grund, diese Methode im std::stringUnterricht zu haben? Ich habe sowohl MSDN als auch CppRefernce gelesen und sie scheinen darauf hinzudeuten, dass es …
263 c++  string  stl  size 



13
Sortieren eines Vektors von benutzerdefinierten Objekten
Wie sortiert man einen Vektor, der benutzerdefinierte (dh benutzerdefinierte) Objekte enthält? Wahrscheinlich sollte eine Standard-STL-Algorithmus- Sortierung zusammen mit einem Prädikat (einer Funktion oder einem Funktionsobjekt) verwendet werden, das in einem der Felder (als Schlüssel zum Sortieren) im benutzerdefinierten Objekt ausgeführt wird. Bin ich auf dem richtigen Weg?
248 c++  stl  sorting 

17
Wie kann man alle Schlüssel (oder Werte) von einer std :: map abrufen und in einen Vektor einfügen?
Dies ist einer der möglichen Wege, wie ich herauskomme: struct RetrieveKey { template <typename T> typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map<int, int> m; vector<int> keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n")); Natürlich können wir auch …
246 c++  dictionary  stl  stdmap 

10
Wie fasse ich Elemente eines C ++ - Vektors zusammen?
Was sind die guten Möglichkeiten, um die Summe aller Elemente in a zu finden std::vector? Angenommen, ich habe einen Vektor std::vector<int> vectormit einigen Elementen. Jetzt möchte ich die Summe aller Elemente finden. Was sind die verschiedenen Möglichkeiten für das gleiche?
240 c++  stl  vector 


16
Vektor vs. Liste in STL
Ich habe das in Effective STL bemerkt Vektor ist der Sequenztyp, der standardmäßig verwendet werden soll. Was bedeutet das? Es scheint, dass das Ignorieren der Effizienz vectoralles kann. Könnte mir jemand ein Szenario anbieten, in dem dies vectorkeine praktikable Option ist, sondern listverwendet werden muss?
237 c++  list  vector  stl 


2
Warum kann ich ein unique_ptr nicht in einen Vektor zurückschieben?
Was ist los mit diesem Programm? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } Der Fehler: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const …


15
C ++ Sortieren und Verfolgen von Indizes
Mit C ++ und hoffentlich der Standardbibliothek möchte ich eine Folge von Samples in aufsteigender Reihenfolge sortieren, aber ich möchte mich auch an die ursprünglichen Indizes der neuen Samples erinnern. Zum Beispiel habe ich eine Menge, einen Vektor oder eine Matrix von Proben A : [5, 2, 1, 4, 3]. …
216 c++  sorting  stl  indexing 

22
Ist std :: vector so viel langsamer als einfache Arrays?
Ich habe immer gedacht, dass es die allgemeine Weisheit std::vectorist, die "als Array implementiert" ist, bla bla bla. Heute bin ich runtergegangen und habe es getestet, und es scheint nicht so zu sein: Hier sind einige Testergebnisse: UseArray completed in 2.619 seconds UseVector completed in 9.284 seconds UseVectorPushBack completed in …
212 c++  arrays  performance  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.