Als «c++17» getaggte Fragen

1007
Was sind die neuen Funktionen in C ++ 17?

Gesperrt . Diese Frage und ihre Antworten sind gesperrt, da die Frage nicht zum Thema gehört, aber historische Bedeutung hat. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. C ++ 17 ist jetzt vollständig, sodass es unwahrscheinlich ist, dass große Änderungen vorgenommen werden....

543
Iterator-Ungültigkeitsregeln

Was sind die Iterator-Ungültigkeitsregeln für C ++ - Container? Vorzugsweise in einem Zusammenfassungslistenformat. (Hinweis: Dies ist als Eintrag in die C ++ - FAQ von Stack Overflow gedacht . Wenn Sie die Idee kritisieren möchten, eine FAQ in dieser Form bereitzustellen, ist die Veröffentlichung...

242
Was ist der Zweck von std :: launder?

P0137 führt die Funktionsvorlage ein std::launderund nimmt in den Abschnitten zu Gewerkschaften, Lebensdauer und Zeigern viele, viele Änderungen am Standard vor. Was ist das Problem, das dieses Papier löst? Was sind die Änderungen an der Sprache, die ich beachten muss? Und was machen wir...

186
Was machte i = i ++ + 1; legal in C ++ 17?

Bevor Sie anfangen, undefiniertes Verhalten zu schreien, wird dies in N4659 (C ++ 17) explizit aufgeführt. i = i++ + 1; // the value of i is incremented Noch in N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined Was hat sich geändert? Soweit ich das beurteilen kann, aus [N4659 basic.exec]...

162
Was ist string_view?

string_viewwurde eine Funktion in den C ++ Library Fundamentals TS ( N3921 ) vorgeschlagen, die zu C ++ 17 hinzugefügt wurde Soweit ich weiß, handelt es sich um einen Typ, der eine Art "Konzept" einer Zeichenfolge darstellt, bei dem es sich um eine Ansicht eines beliebigen Containertyps handelt,...

136
Die eleganteste Art, ein One-Shot-If zu schreiben

Seit C ++ 17 kann man einen ifBlock schreiben , der genau einmal so ausgeführt wird: #include <iostream> int main() { for (unsigned i = 0; i < 10; ++i) { if (static bool do_once = true; do_once) { // Enter only once std::cout << "hello one-shot" << std::endl; // Possibly much...

124
Wie funktionieren Inline-Variablen?

Auf dem Oulu ISO C ++ Standards Meeting 2016 wurde ein Vorschlag namens Inline Variables vom Normungsausschuss in C ++ 17 abgestimmt. Was sind Inline-Variablen, wie funktionieren sie und wofür sind sie nützlich? Wie sollen Inline-Variablen deklariert, definiert und verwendet

96
Warum std :: make_unique in C ++ 17 verwenden?

Soweit ich weiß, wurde C ++ 14 eingeführt std::make_unique, da dies aufgrund der nicht angegebenen Reihenfolge der Parameterauswertung unsicher war: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Erläuterung: Wenn die Auswertung zuerst den Speicher für den Rohzeiger...

94
experimenteller :: Dateisystem-Linker-Fehler

Ich versuche, die neuen c ++ 1z-Funktionen tatsächlich auf dem Kopf der Entwicklung in gcc 6.0 zu verwenden. Wenn ich dieses kleine Beispiel versuche: #include <iostream> #include <experimental/filesystem> namespace fs = std::experimental::filesystem; int main() { fs::path p1 =...

88
Wie funktioniert die garantierte Kopierentscheidung?

Auf dem Oulu ISO C ++ Standards Meeting 2016 wurde vom Normungsausschuss ein Vorschlag mit dem Titel Garantierte Kopierentfernung durch vereinfachte Wertekategorien in C ++ 17 abgestimmt. Wie genau funktioniert die garantierte Kopierentscheidung? Deckt es einige Fälle ab, in denen die...