Zum Beispiel: int a = 12; cout << typeof(a) << endl; Erwartete
Zum Beispiel: int a = 12; cout << typeof(a) << endl; Erwartete
Bitte beachten Sie die Updates am Ende dieses Beitrags. Update: Ich habe ein öffentliches Projekt auf GitHub für diese Bibliothek erstellt! Ich hätte gerne eine einzige Vorlage, die ein für alle Mal dafür sorgt, dass alle STL-Container über hübsch gedruckt werden operator<<. Im Pseudocode...
Ich bin ziemlich vertraut mit C ++ 11 ist std::thread, std::asyncund std::futureKomponenten (siehe zB diese Antwort ), die geradlinig sind. Ich kann jedoch nicht genau verstehen std::promise, was es ist, was es tut und in welchen Situationen es am besten verwendet wird. Das Standarddokument selbst...
ich habe ein klasse template<size_t N, size_t M> class Matrix { // .... }; Ich möchte ein machen typedef, das einen Vector(Spaltenvektor) erzeugt, der einem Matrixmit den Größen N und 1 entspricht. So etwas: typedef Matrix<N,1> Vector<N>; Was zu Kompilierungsfehlern führt....
unique_ptr<T>erlaubt keine Kopierkonstruktion, sondern unterstützt die Verschiebungssemantik. Dennoch kann ich a zurückgebenunique_ptr<T> von einer Funktion zurückgeben und den zurückgegebenen Wert einer Variablen zuweisen. #include <iostream> #include <memory> using...
Ich versuche, meinen C ++ - Compiler auf C ++ 11 zu aktualisieren. Ich habe ein bisschen gesucht und bin zu dem Schluss gekommen, dass ich die Flagge verwenden muss -std=c++0xoder -std=gnu++0x, aber ich weiß nicht viel über Flaggen. Kann mir jemand helfen? (Ich benutze Ubuntu 12.04.) Hier ist der...
Wenn ich versuche, ein von CMake generiertes Makefile auszuführen, um mein Programm zu kompilieren, wird der Fehler angezeigt Für Schleifen basierende Bereiche werden im C ++ 98-Modus nicht unterstützt. Ich habe versucht add_definitions(-std=c++0x), meine zu ergänzen CMakeLists.txt, aber es hat...
Overа этот вопрос есть ответы на Stapelüberlauf на русском : Чем std :: unique_lock отличается от std :: lock_guard? Ich habe zwei Anwendungsfälle. A. Ich möchte den Zugriff von zwei Threads auf eine Warteschlange synchronisieren. B. Ich möchte den Zugriff von zwei...
Es scheint mir, dass eine "Funktion, die immer 5 zurückgibt" die Bedeutung von "Aufrufen einer Funktion" bricht oder verwässert. Es muss einen Grund oder eine Notwendigkeit für diese Funktion geben, sonst wäre es nicht in C ++ 11. Warum ist es dort? // preprocessor. #define MEANING_OF_LIFE 42 //...
Das gängige Beispiel für bereichsbasierte for () - Schleifen in C ++ 11 ist immer so einfach: std::vector<int> numbers = { 1, 2, 3, 4, 5, 6, 7 }; for ( auto xyz : numbers ) { std::cout << xyz << std::endl; } In welchem Fall xyzist ein int. Aber was passiert, wenn wir so etwas...
C ++ 11 erlaubt inline namespaces, deren Mitglieder sich ebenfalls automatisch im Gehäuse befinden namespace. Ich kann mir keine nützliche Anwendung vorstellen - kann jemand bitte ein kurzes, prägnantes Beispiel für eine Situation geben, in der eine inline namespacebenötigt wird und in der es die...
Gibt es einen Containeradapter, der die Richtung der Iteratoren umkehrt, damit ich mit einer bereichsbasierten for-Schleife in umgekehrter Reihenfolge über einen Container iterieren kann? Mit expliziten Iteratoren würde ich Folgendes konvertieren: for (auto i = c.begin(); i != c.end(); ++i) {...
Ist es möglich, dass C ++ - Code sowohl dem C ++ 03- Standard als auch dem C ++ 11- Standard entspricht, aber je nachdem, unter welchem Standard er kompiliert wird, unterschiedliche Aktionen
Ich versuche, eine std::threadFunktion mit einem Element zu erstellen, die keine Argumente akzeptiert und zurückgibt void. Ich kann keine Syntax finden, die funktioniert - der Compiler beschwert sich, egal was passiert. Was ist der richtige Weg, um zu implementieren spawn(), dass ein...
std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Es gibt viele Google- und Stackoverflow-Posts, aber ich kann nicht verstehen, warum dies make_sharedeffizienter ist als die direkte Verwendung shared_ptr. Kann mir jemand...
Ich bin kürzlich auf den folgenden esoterischen Code gestoßen. int main(){(([](){})());} Formatieren Sie es wie folgt neu, um es besser lesbar zu machen: int main(){ (([](){})()); // Um... what?!?! } Aber ich kann mir nicht vorstellen, wie (([](){})())gültiger Code ist. Es sieht nicht nach...
Wenn eine Funktion eine shared_ptr(von Boost oder C ++ 11 STL) benötigt, übergeben Sie sie: durch konstante Referenz: void foo(const shared_ptr<T>& p) oder nach Wert : void foo(shared_ptr<T> p)? Ich würde die erste Methode bevorzugen, weil ich vermute, dass sie schneller sein...
Ich stelle diese Frage nicht wegen der Vorzüge der Speicherbereinigung. Mein Hauptgrund für diese Frage ist, dass ich weiß, dass Bjarne Stroustrup gesagt hat, dass C ++ irgendwann einen Garbage Collector haben wird. Warum wurde es nicht hinzugefügt? Es gibt bereits einige Garbage Collectors für C...
Ich habe angefangen, intelligente Zeiger von C ++ 11 zu studieren, und sehe keine nützliche Verwendung von std::weak_ptr. Kann mir jemand sagen, wann std::weak_ptres nützlich / notwendig