Wie verkette ich zwei
Ein Sequenztyp, der als Teil der Standardbibliothek definiert ist.
Wie verkette ich zwei
Ich möchte den Inhalt eines Vektors in C ++ ausdrucken. Folgendes habe ich: #include <iostream> #include <fstream> #include <string> #include <cmath> #include <vector> #include <sstream> #include <cstdio> using namespace std; int main() { ifstream...
Was ist der schnellste Weg, um jeden Wert von a std::vector<int>auf 0 zurückzusetzen und die anfängliche Größe der Vektoren beizubehalten? Eine for-Schleife mit dem Operator []?
Nach vielen Untersuchungen mit valgrind bin ich zu dem Schluss gekommen, dass std :: vector eine Kopie eines Objekts erstellt, das Sie push_back möchten. Stimmt das wirklich ? Ein Vektor kann ohne Referenz keine Referenz oder einen Zeiger eines Objekts behalten ?! Vielen
Ich mag Vektoren sehr. Sie sind geschickt und schnell. Aber ich weiß, dass dieses Ding namens Valarray existiert. Warum sollte ich einen Valarray anstelle eines Vektors verwenden? Ich weiß, Valarrays haben syntaktischen Zucker, aber abgesehen davon, wann sind sie
Ich muss kopieren std::setnach std::vector: std::set <double> input; input.insert(5); input.insert(6); std::vector <double> output; std::copy(input.begin(), input.end(), output.begin()); //Error: Vector iterator not dereferencable Wo ist das
Wenn ich einen Paarvektor habe: std::vector<std::pair<int, int> > vec; Gibt es eine einfache Möglichkeit, die Liste in aufsteigender Reihenfolge nach dem zweiten Element des Paares zu sortieren? Ich weiß, dass ich ein kleines Funktionsobjekt schreiben kann, das die Arbeit erledigt,...
Wie viele Daten werden kopiert, wenn ein std :: vector in einer Funktion zurückgegeben wird und wie groß die Optimierung sein wird, um den std :: vector im Free-Store (auf dem Heap) zu platzieren und stattdessen einen Zeiger zurückzugeben, dh: std::vector *f() { std::vector *result = new...
Ich suche nach einer generischen, wiederverwendbaren Möglichkeit, a std::vectorin C ++ zu mischen . So mache ich das derzeit, aber ich denke, es ist nicht sehr effizient, da es ein Zwischenarray benötigt und den Elementtyp kennen muss (DeckCard in diesem Beispiel): srand(time(NULL));...
Ich weiß, dass dies at()langsamer ist als []aufgrund seiner Grenzprüfung, die auch in ähnlichen Fragen wie C ++ Vector bei / [] Operatorgeschwindigkeit oder :: std :: vector :: at () vs Operator [] << überraschende Ergebnisse diskutiert wird !! 5 bis 10 mal langsamer / schneller! . Ich...
Ich habe den folgenden Java-Code mit mehreren großen Arrays, deren Größe sich nie ändert. Es läuft in 1100 ms auf meinem Computer. Ich habe den gleichen Code in C ++ implementiert und verwendet std::vector. Die Zeit der C ++ - Implementierung, in der genau derselbe Code ausgeführt wird, beträgt auf...
C ++ 14 präsentiert std::dynarray: std :: dynarray ist ein Sequenzcontainer, der Arrays mit einer Größe kapselt, die bei der Erstellung festgelegt ist und sich während der Lebensdauer des Objekts nicht ändert. std::dynarraymuss zur Laufzeit genauso zugeordnet werden wie std::vector. Was sind also...
Gibt es eine Möglichkeit, zwei Vektoren zu vergleichen? if (vector1 == vector2) DoSomething(); Hinweis: Derzeit sind diese Vektoren nicht sortiert und enthalten ganzzahlige Werte.
Ich habe lange angenommen, dass für jedes leere std::vector V , V.begin() == V.end(). Ich sehe jedoch nichts in der C ++ - Spezifikation, was besagt, dass dies immer wahr ist. Ist es notwendigerweise wahr oder ist es bei den meisten Implementierungen einfach wahr?
Ich verwende eine externe Bibliothek, die mir irgendwann einen unformatierten Zeiger auf ein Array von Ganzzahlen und eine Größe gibt. Jetzt möchte ich auf std::vectordiese Werte zugreifen und sie ändern, anstatt mit rohen Zeigern darauf zuzugreifen. Hier ist ein künstliches Beispiel, das den...
Betrachten Sie das folgende Snippet: #include <array> int main() { using huge_type = std::array<char, 20*1024*1024>; huge_type t; } Offensichtlich würde es auf den meisten Plattformen abstürzen, da die Standardstapelgröße normalerweise weniger als 20 MB beträgt. Betrachten Sie nun...
Ich habe eine Funktion, die mehrdimensional ist std::vectorund erfordert, dass die Tiefe (oder die Anzahl der Dimensionen) als Vorlagenparameter übergeben wird. Anstatt diesen Wert fest zu codieren, möchte ich eine constexprFunktion schreiben , die die std::vectorund die Tiefe als unsigned...
Ich habe in der folgenden Situation ein sehr seltsames Verhalten (bei Clang und GCC) festgestellt. Ich habe einen Vektor nodesmit einem Element, einer Klasseninstanz Node. Ich rufe dann eine Funktion auf nodes[0], die Nodedem Vektor eine neue hinzufügt . Wenn der neue Knoten hinzugefügt wird,...
Angenommen, Sie haben den folgenden Code: #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> First{"example", "second" , "C++" , "Hello world" }; std::vector<std::string> Second{"Hello"}; First.swap(Second); for(auto a :...
Angenommen, ich habe einen Vektor von ganzen Zahlen: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Dann sortiere ich es in absteigender Reihenfolge: sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] >...