Als «c++11» getaggte Fragen

68
Ist dieses Verhalten von std :: ref logisch?

Betrachten Sie diesen Code: #include <iostream> #include <functional> int xx = 7; template<class T> void f1(T arg) { arg += xx; } template<class T> void f2(T arg) { arg = xx; } int main() { int j; j=100; f1(std::ref(j)); std::cout << j <<...

32
C ++ - Dekltyp und Klammern - warum?

Das Thema wurde diskutiert vor , aber dies ist kein Duplikat. Wenn jemand nach dem Unterschied zwischen decltype(a)und fragt , lautet decltype((a))die übliche Antwort: - aist eine Variable, (a)ist ein Ausdruck. Ich finde diese Antwort unbefriedigend. Erstens aist auch ein Ausdruck. Die Optionen...

17
Ist das ein alter Konstruktor im C ++ - Stil?

Hier ein Stück C ++ - Code. In diesem Beispiel sehen viele Codeblöcke wie Konstruktoraufrufe aus. Blockcode 3 ist dies leider nicht (Sie können ihn mit https://godbolt.org/z/q3rsxn und https://cppinsights.io überprüfen ). Ich denke, es ist eine alte C ++ - Notation und könnte die Einführung der...

17
Fortlaufende Aufzählung C ++ 11

Gibt es eine Möglichkeit, in C ++ 11 zu überprüfen, ob eine Aufzählung fortlaufend ist ? Es ist voll gültig, eine Aufzählung anzugeben, die nicht sind. Gibt es möglicherweise eine Funktion wie ein Typmerkmal in C ++ 14, C ++ 17 oder C ++ 20, um zu überprüfen, ob die Aufzählung fortlaufend ist?...

14
Warum ist die Dimension eines Arrays Teil seines Typs?

Beim Lesen des C ++ Primer-Buches stieß ich auf die folgende Aussage: "Die Anzahl der Elemente in einem Array ist Teil des Array-Typs." Also wollte ich das mit folgendem Code herausfinden: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l', 'e', 'a',...