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 den folgenden Code: #include <array> #include <vector> int main() { using huge_type …
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 integerWert zurückgibt . Zum Beispiel: std::vector<std::vector<std::vector<int>>> v = { { …
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, werden die Felder des aufrufenden …
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 : Second) std::cout << a << "\n"; return 0; } Stellen Sie sich vor, der Vektor ist noch std::stringkeine Klasse: std::vector<Widget> …
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] > indices[second];}) for (int i=0; i<15; i++) printf("%i\n", indices[i]); Dies ergibt Folgendes: 14 13 12 11 10 9 …
Die folgende Frage ist verwandt, die Antworten sind jedoch alt, und der Kommentar von Benutzer Marc Glisse legt nahe, dass es seit C ++ 17 neue Ansätze für dieses Problem gibt, die möglicherweise nicht angemessen diskutiert werden. Ich versuche, den ausgerichteten Speicher für SIMD ordnungsgemäß zu verwenden, während ich weiterhin …
Wie kann ich die Elemente eines Vektors einem Atomtyp zuordnen? #include <iostream> #include <thread> #include <vector> using namespace std; int main() { vector<atomic<bool>> myvector; int N=8; myvector.assign(N,false); cout<<"done!"<<endl; } https://wandbox.org/permlink/lchfOvqyL3YKNivk prog.cc: In function 'int main()': prog.cc:11:28: error: no matching function for call to 'std::vector<std::atomic<bool> >::assign(int&, bool)' 11 | myvector.assign(N,false); | …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.