Es ist schwer zu sagen, was hier gefragt wird. Diese Frage ist mehrdeutig, vage, unvollständig, zu weit gefasst oder rhetorisch und kann in ihrer gegenwärtigen Form nicht angemessen beantwortet werden. Hilfe zur Klärung dieser Frage, damit sie wieder geöffnet werden kann, finden Sie in der Hilfe . Geschlossen vor 8 …
Ich habe gerade festgestellt, dass ich die Logik von nicht vollständig verstanden habe std::move(). Zuerst habe ich es gegoogelt, aber es scheint nur Dokumente zu geben, wie man es benutzt std::move(), nicht wie seine Struktur funktioniert. Ich meine, ich weiß, was die Vorlagenelementfunktion ist, aber wenn ich mir die std::move()Definition …
Gibt es eine Möglichkeit, nach Wert zu erfassen und den erfassten Wert nicht konstant zu machen? Ich habe einen Bibliotheks-Funktor, den ich erfassen und eine Methode aufrufen möchte, die nicht konstant ist, aber sein sollte. Das Folgende wird nicht kompiliert, aber foo :: operator () const behebt es. struct foo …
Ich versuche, std :: regex in einem C ++ 11-Code zu verwenden, aber es scheint, dass die Unterstützung etwas fehlerhaft ist. Ein Beispiel: #include <regex> #include <iostream> int main (int argc, const char * argv[]) { std::regex r("st|mt|tr"); std::cerr << "st|mt|tr" << " matches st? " << std::regex_match("st", r) << …
Ich habe das erst vor kurzem geschrieben: template <long int T_begin, long int T_end> class range_class { public: class iterator { friend class range_class; public: long int operator *() const { return i_; } const iterator &operator ++() { ++i_; return *this; } iterator operator ++(int) { iterator copy(*this); ++i_; …
In C ++ fehlt das Äquivalent zum PHP- selfSchlüsselwort , das den Typ der einschließenden Klasse ergibt. Es ist einfach genug, es pro Klasse zu fälschen: struct Foo { typedef Foo self; }; aber ich musste Foonochmal schreiben . Vielleicht verstehe ich das eines Tages falsch und verursache einen stillen …
Benutzerdefinierte Schlüsseltypen in zu unterstützen std::unordered_set<Key>und std::unordered_map<Key, Value> man hat zu schaffen operator==(Key, Key)und ein Hash Funktors: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X& x) const { return std::hash<int>()(x.id); } }; …
Gibt es einen Unterschied zwischen throw()und noexceptaußer der Überprüfung zur Laufzeit bzw. zur Kompilierungszeit? Dieser Wikipedia C ++ 11-Artikel schlägt vor, dass die C ++ 03-Wurfspezifizierer veraltet sind. Warum ist es in der noexceptLage, all das zur Kompilierungszeit abzudecken? [Hinweis: Ich habe diese Frage und diesen Artikel überprüft , konnte …
Wir entwickeln eine hochleistungskritische Software in C ++. Dort benötigen wir eine gleichzeitige Hash-Map und implementieren eine. Also haben wir einen Benchmark geschrieben, um herauszufinden, mit wie viel langsamer unsere gleichzeitige Hash-Map verglichen wird std::unordered_map. Aber es std::unordered_mapscheint unglaublich langsam zu sein ... Das ist also unser Mikro-Benchmark (für die …
Ich habe einige Probleme, die Notwendigkeit std::result_ofin C ++ 0x zu verstehen . Wenn ich es richtig verstanden habe, result_ofwird es verwendet, um den resultierenden Typ des Aufrufs eines Funktionsobjekts mit bestimmten Arten von Parametern zu erhalten. Beispielsweise: template <typename F, typename Arg> typename std::result_of<F(Arg)>::type invoke(F f, Arg a) { …
Ich habe an einigen Stellen gelesen, dass es mit den neuen String-Literalen von C ++ 11 möglich sein könnte, den Hash eines Strings zur Kompilierungszeit zu berechnen. Es scheint jedoch niemand bereit zu sein, herauszukommen und zu sagen, dass es möglich sein wird oder wie es gemacht werden würde. Ist …
Wie hoch ist der Overhead von intelligenten Zeigern im Vergleich zu normalen Zeigern in C ++ 11? Mit anderen Worten, wird mein Code langsamer, wenn ich intelligente Zeiger verwende, und wenn ja, wie viel langsamer? Insbesondere frage ich nach C ++ 11 std::shared_ptrund std::unique_ptr. Offensichtlich wird das Material, das auf …
Warum muss es sein std::reference_wrapper? Wo soll es verwendet werden? Wie unterscheidet es sich von einem einfachen Zeiger? Wie ist seine Leistung im Vergleich zu einem einfachen Zeiger?
Bietet die C ++ 11-Standardbibliothek ein Dienstprogramm zum Konvertieren von a std::shared_ptrnach std::unique_ptroder umgekehrt? Ist das ein sicherer Betrieb?
Ich habe irgendwo Code gesehen, in dem jemand beschlossen hat, ein Objekt zu kopieren und es anschließend in ein Datenelement einer Klasse zu verschieben. Dies ließ mich insofern verwirrt, als ich dachte, der springende Punkt beim Bewegen sei, das Kopieren zu vermeiden. Hier ist das Beispiel: struct S { S(std::string …
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.