Als «c++11» getaggte Fragen

101
Kann ich in C ++ einen autonomen Selbstmitgliedertyp implementieren?

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...

100
Kompilieren Sie Time String Hashing

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....

100
Unterschied zwischen std :: result_of und decltype

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,...

98
Wie ist die std :: Funktion implementiert?

Gemäß den Quellen, die ich gefunden habe, wird ein Lambda-Ausdruck im Wesentlichen vom Compiler implementiert, der eine Klasse mit überladenem Funktionsaufrufoperator und den referenzierten Variablen als Mitglieder erstellt. Dies deutet darauf hin, dass die Größe der Lambda-Ausdrücke variiert und...

98
Warum kopieren wir dann umziehen?

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:...

97
Sequence-Zip-Funktion für c ++ 11?

Mit der neuen bereichsbasierten for-Schleife können wir Code wie schreiben for(auto x: Y) {} Welche IMO ist eine enorme Verbesserung von (zum Beispiel) for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {} Kann es verwendet werden, um zwei gleichzeitige Schleifen wie die Pythons-...

97
Moderne Art, STL-Container zu filtern?

Als ich nach Jahren von C # zu C ++ zurückkehrte, fragte ich mich, wie die moderne Methode zum Filtern eines Arrays aussehen würde: Wie können wir etwas Ähnliches wie diese Linq-Abfrage erreichen: var filteredElements = elements.Where(elm => elm.filterProperty == true); Um einen Vektor von...