Als «c++17» getaggte Fragen

C ++ 17 ist der Name des 2017 genehmigten C ++ - Standards. Er baut auf dem vorherigen C ++ 14-Standard auf, verbessert die Kernsprache und die Standardbibliothek und fügt einige neue Sprachfunktionen hinzu.

1
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. Hunderte von Vorschlägen wurden für C ++ …
1007 c++  standards  c++-faq  c++17 


6
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 auf Meta, mit der all dies …
543 c++  c++11  iterator  c++17  c++-faq 


1
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 launder?


4
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 …


1
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, in dem …


9
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; // …
136 c++  if-statement  c++17 

6
Lambda kehrt zurück: Ist das legal?
Betrachten Sie dieses ziemlich nutzlose Programm: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Grundsätzlich versuchen wir, ein Lambda herzustellen, das sich selbst …

3
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 werden?
124 c++  c++17 


3
polymorphic_allocator: wann und warum sollte ich es verwenden?
Hier ist die Dokumentation zu cppreference , hier ist der Arbeitsentwurf. Ich muss zugeben, dass ich nicht verstanden habe, was der eigentliche Zweck ist polymorphic_allocatorund wann / warum / wie ich es verwenden soll. Als Beispiel pmr::vectorhat der folgende Signatur: namespace pmr { template <class T> using vector = std::vector<T, …
120 c++  allocator  c++17 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.