Als «c++» getaggte Fragen

71
Ist begin () == end () für einen leeren () Vektor?

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?

71
Warum wird "std :: initializer_list" oft als Wert übergeben?

In fast jedem Beitrag, den ich auf SO sehe und an dem a beteiligt ist std::initializer_list, neigen die Leute dazu, einen std::initializer_listWert zu übergeben. Nach diesem Artikel: http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/ man sollte den Wert übergeben, wenn man eine Kopie...

71
Wo ist die Sperre für ein std :: atomic?

Wenn eine Datenstruktur mehrere Elemente enthält, kann die atomare Version nicht (immer) sperrfrei sein. Mir wurde gesagt, dass dies für größere Typen gilt, da die CPU die Daten nicht atomar ändern kann, ohne eine Art Sperre zu verwenden. zum Beispiel: #include <iostream> #include...

71
Warum generiert die Verwendung des ternären Operators zur Rückgabe einer Zeichenfolge einen erheblich anderen Code als die Rückgabe in einem äquivalenten if / else-Block?

Ich habe mit dem Compiler Explorer gespielt und bin auf ein interessantes Verhalten mit dem ternären Operator gestoßen, wenn ich so etwas verwendet habe: std::string get_string(bool b) { return b ? "Hello" : "Stack-overflow"; } Der vom Compiler generierte Code dafür (Clang Trunk, mit -O3) lautet...

70
Wie bekomme ich das aktuelle Verzeichnis?

Ich habe dies in C # und Delphi getan, aber C ++ ist böse. Der Zweck besteht darin, eine Datei im aktuellen Verzeichnis zu erstellen (in dem die ausführbare Datei ausgeführt wird). Mein Code: LPTSTR NPath = NULL; DWORD a = GetCurrentDirectory(MAX_PATH,NPath); HANDLE hNewFile =...

70
Was sind intrinsische Eigenschaften?

На этот вопрос есть ответы на Stapelüberlauf на русском : Что такое интринсики (intrinsics)? Kann jemand erklären, was sie sind und warum ich sie brauchen würde? Welche Art von Anwendungen erstelle ich, wenn ich Intrinsics verwenden muss?...

70
C ++: Kann eine Struktur von einer Klasse erben?

Ich betrachte die Implementierung einer API, die ich verwende. Ich bemerkte, dass eine Struktur von einer Klasse erbt und machte eine Pause, um darüber nachzudenken ... Erstens habe ich in dem C ++ - Handbuch, mit dem ich studiert habe, nicht gesehen, dass eine Struktur von einer anderen Struktur...