Tag: stl

Die Standard Template Library oder STL ist eine C++ – Bibliothek von generischen Container, Iteratoren, algorithmen und funktionsobjekte.

Wenn C++ standardisiert, große Teile der STL verabschiedet wurden, in der Standard-Bibliothek, und diese Teile in der Standard-Bibliothek sind auch manchmal bezeichnet als „STL“.

std::string - = = - operator funktioniert nicht

Anzahl der Antworten 2 Antworten
Habe ich mit std::string s = = - operator seit Jahren auf windows und linux. Jetzt bin ich kompilieren einer meiner Bibliotheken auf linux, verwendet == stark. Auf linux in der folgenden Funktion schlägt fehl, weil die

C++ STL Vector: Push_back wobei als Referenz

Anzahl der Antworten 3 Antworten
Aus der cpp-Dokumentation für std::vector, ich sehe dies: void push_back ( const T& x ); Ich verstehe, dass push_back macht eine Kopie von dem Objekt, dass ich gehe. Aber, warum ist die Signatur const T& ? mit

Hat std::vector seine / Ihre Adresse ändern? Wie zu vermeiden

Anzahl der Antworten 8 Antworten
Seit dem die vector-Elemente werden zusammenhängend gespeichert, ich denke, es kann nicht die gleiche Adresse nach einiger push_back ist , da der erste zugewiesenen Platz könnte nicht ausreichen. Arbeite ich an einem code, wo ich eine Referenz

Gibt es eine sichere alternative zu std::equal?

Anzahl der Antworten 5 Antworten
std::equal() ist unsicher, da die Funktion nicht weiß, ob es überrennen die Länge des zweiten Behälters verglichen werden. Das heißt: std::vector< int > v( 100 ); std::vector< int > w( 10 ); bool same = std::equal( v.begin(),

mit std::find_if mit std::string

Anzahl der Antworten 2 Antworten
Ich bin dumm hier, aber ich kann nicht die Funktion, die Unterschrift für das Prädikat werde find_if bei der Iteration über string: bool func( char ); std::string str; std::find_if( str.begin(), str.end(), func ) ) In diesem Fall

Was ist der beste Weg, um Zugriff auf deque-element in der C++ STL

Anzahl der Antworten 4 Antworten
Ich habe eine deque: deque<char> My_Deque; My_Path.push_front('a'); My_Path.push_front('b'); My_Path.push_front('c'); My_Path.push_front('d'); My_Path.push_front('e'); Gibt es solche Möglichkeiten ausgegeben werden. Ersten: deque<char>::iterator It; for ( It = My_Deque.begin(); It != My_Deque.end(); It++ ) cout << *It << " "; Zweiten:

STL sortiert eingestellt werden, wo die Bedingungen der Bestellung ändern kann

Anzahl der Antworten 10 Antworten
Ich habe ein C++ - STL-set mit einer custom Bestellung definiert. Die Idee war, dass, wenn Elemente Hinzugefügt, um den Satz, Sie sind natürlich bestellt wie ich Sie haben will. Jedoch, was ich erkannt habe ist, dass

GDB ziemlich Druck ImportError: No module named 'Drucker'

Anzahl der Antworten 1 Antworten
Ich versuche, fügen Sie pretty-printing für STL in mein GDB auf Ubuntu 14.04. Einige details zu den Extras: OS: Ubuntu 14.04 gdb-version: 7.7 python version: 2.7.6 Python ist3 version: 3.4.0 Aber nachdem ich das setup genau wie

std::map und performance, schneidende Sätze

Anzahl der Antworten 9 Antworten
Ich bin kreuzenden einige Sätze von zahlen, und tun dies durch das speichern einer Anzahl von jedes mal, wenn ich eine Zahl sehen, die in einer Karte. Ich finde die Leistung sehr langsam. Details: - Eines der

Unerwartetes Verhalten auf das hinzufügen von '\0' std::string

Anzahl der Antworten 4 Antworten
Warum der C++ - standard, dass die folgenden? #include <iostream> #include <string> int main() { std::string s(10, '\0'); //s.length() now is 10 std::cout << "string is " << s << ", length is " << s.length() <<

Die amortisierten Komplexität von std::next_permutation?

Anzahl der Antworten 3 Antworten
Ich habe gerade gelesen diese andere Frage über die Komplexität von next_permutation und während ich bin zufrieden mit der Antwort (O(n)), es scheint, wie der Algorithmus möglicherweise haben Sie einen schönen amortisierten Analyse, die zeigt, dass eine

std::map einfügen "segmentation fault"

Anzahl der Antworten 5 Antworten
Warum dieser stop-code mit einem segmentation fault : class MapFile { public: /* ... */ std::map <unsigned int, unsigned int> inToOut; }; bool MapFile::LoadMapFile( const wxString& fileName ) { /* ... */ inToOut.insert( std::make_pair(input,output) ); } aber

Android ndk link nicht auf libgnustl_shared.so

Anzahl der Antworten 2 Antworten
habe ich zusammengestellt ffmpeg mit libstagefright In den letzten, während die Verknüpfung hab ich Undefinierte Referenzen mit unten $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffsft1.so -shared -nostdlib -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffsft1.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm

Effiziente verkettete Liste in C++?

Anzahl der Antworten 11 Antworten
Diese Dokument sagt std::list ist ineffizient: std::list ist eine extrem ineffiziente Klasse, ist selten sinnvoll. Es führt eine heap-Zuweisung für jedes element eingefügt, so dass ein extrem hoher konstanter Faktor, besonders für kleine Daten-Typen. Kommentar: das ist

Ausdruck mit Typ 'const CompareVPtrs' verlieren würde, die einen const-volatile-Qualifizierer, um zu rufen

Anzahl der Antworten 1 Antworten
Ich die Umsetzung fünfzehn puzzle-console-Spiel in C++, wirft der folgenden Fehler Error 4 error C3848: expression having type 'const CompareVPtrs' would lose some const-volatile qualifiers in order to call 'bool CompareVPtrs::operator ()(Vertex *,Vertex *)' c:\program files\microsoft visual

Warum haben unary_function, binary_function entfernt von C++11?

Anzahl der Antworten 2 Antworten
Fand ich, dass binary_function entfernt von C++11. Ich Frage mich, warum. C++98: template <class T> struct less : binary_function <T,T,bool> { bool operator() (const T& x, const T& y) const {return x<y;} }; C++11: template <class T>

Was bedeutet & - operator bedeutet überlastung

Anzahl der Antworten 6 Antworten
Lese ich ein C++ Buch. Das Programm versucht, einen Vektor von Objekten. Hier ist der Teil den ich nicht verstehe class X { public: X(); X(int m) { temp = x; } int temp; X &operator =(int

Mit lower_bound, upper_bound und binary_search zu finden, das Objekt mit einer gleich member-Bereich

Anzahl der Antworten 3 Antworten
Habe ich ein struct, das so aussieht, struct Foo { int a; }; Ich habe einen Vektor, der diese Strukturen, die so Aussehen, vector<Foo> foos; Alle Foos sortiert werden, die integer a in aufsteigender Reihenfolge mit Hilfe

std::wstring: Verkettung mit + hat keine Wirkung

Anzahl der Antworten 3 Antworten
Die Lösung ist wahrscheinlich offensichtlich, aber ich sehe es nicht. Ich habe diese einfache C++ - code: //Build the search pattern //sPath is passed in as a parameter into this function trim_right_if(sPath, is_any_of(L"\\")); wstring sSearchPattern = sPath

Warum würde die Karte viel schneller als unordered_map?

Anzahl der Antworten 4 Antworten
Implementiert habe ich eine Suche Zwischenspeicherung von Ergebnissen, die aus Schlüsseln bestehen von Art Zustand (a-Klasse mit 7 short ints), und Werte des Typs Socre (eine Klasse von 3 verdoppelt.) Mit unordered_map war mindestens 20 mal langsamer

Finden Letzte element in std::vector, die eine Bedingung erfüllt

Anzahl der Antworten 4 Antworten
Habe ich diese Anforderung zu finden das Letzte element im Vektor, die kleiner ist als ein Wert. Wie find_first_of sondern der erste ich möchte letzten. Ich suchte und fand, dass es keine find_last_of aber es ist find_first_of.

std::vector vs std::stack

Anzahl der Antworten 1 Antworten
Was ist der Unterschied zwischen std::vector und std::stack? Offensichtlich Vektoren können löschen Sie die Elemente in der Auflistung (wenn auch viel langsamer als Liste) in der Erwägung, dass der stack ist gebaut, um einen LIFO-nur Abholung. Allerdings

überprüfen Sie den Typ des Elements in der stl-container - c++

Anzahl der Antworten 7 Antworten
wie bekomme ich den Typ der Elemente, die von einem STL-container? Was genau versuchst du hier zu tun? Seit C++ ist statisch typisiert, sollten Sie in der Regel wissen, welche Art der Elemente (vector<int>, zum Beispiel, hält

Wirkt sich eine änderung einer priority-queue-element Ergebnis in Rückgriff der Warteschlange?

Anzahl der Antworten 4 Antworten
Habe ich eine priority_queue, und ich möchte ändern einige von dessen Inhalt (der Wert für die Priorität), wird die queue zurückgegriffen werden dann? Hängt es ab, wenn es Orte auf push/pop (wahrscheinlicher, denn Sie müssen nur die

EASTL versus STL, wie kann es so ein performance-Unterschied in std::vector<uint64_t>::operator[]

Anzahl der Antworten 2 Antworten
Laut http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html vector<uint64>::operator ist zwischen 2% und 70% schneller in der EASTL als eine "Häufig verwendete kommerzielle version von STL". Es sei denn, die kommerzielle version der STL verwendet, Reichweitenkontrolle, dass der Vergleich unfair, wie kann es

Macht es Sinn, std::unordered_map<int, int> anstelle von std::map<int, int>?

Anzahl der Antworten 1 Antworten
Sollte std::unordered_map<int, int> schneller als std::map`? Ich kümmern sich nicht darum, nur schnelle suchen, so dass ich dachte, ich sollte die Verwendung einer hashtable. Aber dann dachte ich, es werde versuchen, zusätzlich hash-mein Schlüssel oder so (die

std::vector schneller als std::unordered_set?

Anzahl der Antworten 5 Antworten
In meine eigene Physik-engine, die größten Engpass ist eine Methode, die bekommt alle Körper aus dem räumlichen Partitionierung (2D-Gitter), und gibt eine collection zurück, die nur eindeutige Zeiger auf den Körper. template<typename T, typename V> bool contains(const

Atomar std::vector::push_back() und return index

Anzahl der Antworten 5 Antworten
Muss ich eine Funktion erstellen, die fügt einen Wert zu einem vector und gibt die Indexposition zurück, an den Wert angehängt. Beispiel: int append(std::vector<int>& numbers, int number){ int retval = numbers.size(); //what if some other thread calls

Kann raw-Pointer verwendet werden, anstelle von Iteratoren mit STL-algorithmen für Container mit linearen Speicher?

Anzahl der Antworten 4 Antworten
Habe ich eine benutzerdefinierte vector-container, speichert intern Element-linear-array. Letzte Nacht war ich versucht zu implementieren benutzerdefinierte Iteratoren für meine Klasse in der Lage sein, um Sie mit STL-algorithmen. Ich habe einige Erfolg, dass können Sie sehen hier:

std::make_shared, std::unique_ptr und move-Konstruktoren

Anzahl der Antworten 1 Antworten
Der folgende code kompiliert werden, mit clang 3.0/libc++: #include <memory> class Foo { public: Foo() : mem_(new int(10)) { } std::unique_ptr<int> mem_; }; int main() { auto foo = std::make_shared<Foo>(); return 0; } Aber das man nicht

Wie ist der dynamischen Speicher verwaltet, die in std::vector?

Anzahl der Antworten 4 Antworten
Wie funktioniert std::vector implementiert das management der sich verändernden Anzahl der Elemente: ist es verwenden, realloc () - Funktion, oder ist es eine verknüpfte Liste? Dank. InformationsquelleAutor Igor Oks | 2009-03-23

Push_back und pop_back in java

Anzahl der Antworten 4 Antworten
Ich komme aus einer C++ - hintergrund. Ich benutze vector push_back und pop_back Methoden push und pop Elemente aus dem vector. Ich weiß, arraylist ist eine Art äquivalent zu vector, aber ich weiß'f finden Sie gleichwertige Methoden

Gibt es eine Möglichkeit zum begrenzen der Größe einer STL-Map?

Anzahl der Antworten 3 Antworten
Ich umsetzen will, eine Art lookup-Tabelle in C++, der als ein cache. Es soll zu emulieren, ein Stück hardware, die ich bin, zu simulieren. Die Tasten sind nicht ganzzahlig, so ich raten bin, ein hash ist in

Warum nicht überlasten operator+=() für std::vector?

Anzahl der Antworten 4 Antworten
Habe ich angefangen zu lernen, C++, so dass ich nicht weiß in meinem Mangel an wissen/Erfahrung, warum etwas so scheinbar einfach um einen rookie als was ich bin, zu beschreiben, ist nicht bereits in der STL. Hinzufügen

Mischen mit Qt, STL und Boost - gibt es Brücken, die es leicht machen?

Anzahl der Antworten 3 Antworten
Gibt es irgendwelche Brücken zu machen, mischen Qt mit STL und Boost so nahtlos und einfach wie möglich? Dies ist ein Nachtrag zu Mischen Qt und Boost, wo keine konkreten Antworten, wie dies zu erreichen gegeben wurden.

"Klasse std::map verwendet, die ohne template-Parameter" - Fehler

Anzahl der Antworten 4 Antworten
Ich würde sagen, ich bin kein Experte in der Verwendung der STL. Hier ist mein problem, ich habe eine Klasse Namens LdapClientManager, die behauptet, eine Reihe von LDAP-clients, die verwaltet werden von ID. Der Behälter mit der

Referenz auf den Wert der STL-map-element?

Anzahl der Antworten 5 Antworten
Ist es in Ordnung, pass-Funktion eine Referenz auf den Wert des map-element, und ändern Sie es? foo(string & s) { s = "xyz"; } map<int, string> m; m[1] = "abc"; foo(m[1]); //<-- Is it ok? Will m[1]

Error: no match for 'operator[]' (operand types: 'std::list<std::pair<int, int> >*' und 'std::pair<int, int>')

Anzahl der Antworten 2 Antworten
Ich versuche ein Diagramm erstellen, wo jeder Knoten ein paar von zwei int Werte. Für diese habe ich eine Liste adj vom Typ pii (pair<int, int>). Wenn ich jetzt versuche zu push_back ein pii-Typ-Knoten in der Liste

Wann nutzen Sie die Funktion Objekte in C++?

Anzahl der Antworten 7 Antworten
Sehe ich die Funktion Objekte verwendet, oft zusammen mit STL-algorithmen. Hat von function-Objekten kam zustande, weil diese algorithmen? Wenn Sie eine function-Objekt, das in C++? Was ist Ihr nutzen? Siehe auch: stackoverflow.com/questions/356950/c-functors-and-their-uses InformationsquelleAutor jasonline | 2010-02-28

Warum nicht std::stof nicht werfen, wenn Sie übergeben ein argument es nicht konvertieren kann?

Anzahl der Antworten 2 Antworten
Arbeite ich an einem Projekt, wo ich will annehmen einer Eingabe von der form {float}{single-letter-identifier} zum Beispiel 15.6E oder 10W. Um dies zu tun, ich dachte, ich könnte nehmen Sie den input-string, Streifen aus den letzten Buchstaben

Ist std::string der STL?

Anzahl der Antworten 3 Antworten
(Wenn ich sage, STL, ich Rede über die template-Bibliothek, dreht sich um den Container, Iteratoren, algorithmen und funktoren.) Diese Frage kam mir in den Sinn nach zu denken, dass ein std::string meist verhält sich wie ein normaler

Löschen von Elementen in der stl::vector mit Indizes

Anzahl der Antworten 6 Antworten
Habe ich eine stl::vector<int> und ich muss entfernen Sie alle Elemente auf bestimmten Indizes (der Vektor hat in der Regel eine hohe Dimensionalität). Ich würde gerne wissen, welche ist die effizienteste Art und Weise zu tun, wie

Gibt es eine Reale Gefahr für die sich aus der C++ - STL-Containern?

Anzahl der Antworten 8 Antworten
Den Anspruch, dass es ein Fehler überhaupt, die die standard-C++ container als eine Basisklasse hat mich überrascht. Wenn es nicht zu einem Missbrauch der Sprache zu erklären ... //Example A typedef std::vector<double> Rates; typedef std::vector<double> Charges; ...

Schnell cross-Plattform-Algorithmus für das Lesen/schreiben der Datei in C++

Anzahl der Antworten 7 Antworten
Ich soll zu stellen, eine scheinbar einfache Frage, auf die ich keine Antwort finden können, nirgendwo. Gibt es eine SCHNELL modernen Algorithmus für die Datei-Eingabe und/oder Ausgabe, die kompiliert werden kann mit allen standard-konformen C++ Compiler und

Hinzufügen von Elementen zu einer STL-Map in eine Konstruktoren eine Initialisierungsliste?

Anzahl der Antworten 4 Antworten
Ich Frage mich, ob dies möglich war, und wenn ja, wie würde ich über das tun so gehen. Wenn es nicht möglich ist, werde ich nur hinzufügen müssen, um die Elemente während der Konstruktor Körper. Idealerweise würde

Wie kann ich schreiben Sie eine stateful-Zuweisung in C++11, da Anforderungen an die copy-Konstruktion?

Anzahl der Antworten 3 Antworten
Soweit ich das beurteilen kann, den Anforderungen an eine Zuweisung verwendet werden mit STL Behälter angeordnet sind in Tabelle 28 in Abschnitt 17.6.3.5 der C++11 standard. Ich bin ein wenig verwirrt über die Interaktion zwischen einige dieser

Multimap nicht Sortieren

Anzahl der Antworten 4 Antworten
Habe ich diese multimap gebaut, um die Karte der hamming-Abstand einer Zeichenkette die entsprechende Zeichenkette. Da der hamming-Abstand zweier strings können gleich sein, ich will, dass Sie in aufsteigender Reihenfolge sortiert werden. Jedoch wenn ich drucken Sie

Wie kann ich aussetzen, Iteratoren, ohne dass der container verwendet?

Anzahl der Antworten 4 Antworten
Ich habe mit C# für eine Weile jetzt, und gehen wir zurück zu C++ ist ein Kopfschmerz. Ich werde versuchen, einige meiner Methoden aus C# mit mir zu C++, aber ich finde einen gewissen Widerstand, und ich

Gibt es eine effizientere Methode, um einen std::vector von einem stream???

Anzahl der Antworten 4 Antworten
Derzeit habe ich den Wert eines std::vector<char> aus einer std::ostringstream wie folgt: void foo(std::vector<char> &data, std::stringstream &stream) { data = std::vector<char>(stream.str().begin(), stream.str().end()); } Frage ich mich, ob es ist ein effizienter Weg, dies zu tun mit der

Tut pop_back() wirklich ungültig *alle* Iteratoren auf ein std::vector?

Anzahl der Antworten 11 Antworten
std::vector<int> ints; //... fill ints with random values for(std::vector<int>::iterator it = ints.begin(); it != ints.end(); ) { if(*it < 10) { *it = ints.back(); ints.pop_back(); continue; } it++; } Dieser code funktioniert nicht, weil wenn pop_back() genannt