Tag: c++17

C++17 wird der name der C++ – standard zugelassen im Jahr 2017. Es baut auf der vorherigen C++14-standard, die Verbesserung der core-Sprache und standard-Bibliothek, und das hinzufügen von ein paar neue Funktionen der Sprache.

Compile-time-reflection in C++1z?

Anzahl der Antworten 1 Antworten
Gibt es eine Arbeitsgruppe in der C++ Standardisierung Ausschuss für compile-time-reflection in C++1z oder nach. Ich würde gerne wissen, was genau ist der Zweck und wie stark die zu erwartenden Werkzeuge werden? Beispielsweise wird es möglich sein,

Sind die experimentellen features, die von modernen C++ zuverlässig für langfristige Projekte?

Anzahl der Antworten 4 Antworten
Ich habe ein Projekt, das derzeit verwendet C++11/14, aber es erfordert etwas wie std::filesystem, die es nur in C++17, und damit ich nicht die chance haben, derzeit verwenden. Ich sehe allerdings, dass es in meiner aktuellen compiler

Lambda Rücksendung selbst: ist das legal?

Anzahl der Antworten 6 Antworten
Betrachten diese ziemlich nutzloses 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); };

Bit-count : Präprozessor-Magie vs moderne C++

Anzahl der Antworten 3 Antworten
Nehme an, dass ich zum erstellen eines compile-Zeit konstruiert bit-count-lookup-Tabelle für 64-bit-Ganzzahlen, 16 bit-Blöcken. Ich weiß nur einen Weg, dies zu tun ist den folgenden code: #define B4(n) n, n + 1, n + 1, n +

apple llvm 9.0 kann nicht mit flag-c++17

Anzahl der Antworten 3 Antworten
Wenn ich versuche, einige features von c++17, Baue ich meinen code in die Kommandozeile, wie folgt: llvm-g++ -std=c++17 main.cpp aber es ist fehlgeschlagen. Ich habe: error: invalid value 'c++17' in '-std=c++17' die version meiner llvm-g++: [wjy@wjy-mba] cpp$

Wie Baue ich gcc mit C++ - Konzepte ("concepts-lite") unterstützen?

Anzahl der Antworten 2 Antworten
Des C++ standards committee und arbeitet an einem TS (Technische Spezifikation) für die Erweiterung Konzepte: "Programming Languages - C++ - Erweiterungen für Konzepte". N4377 ist die neueste version dieses Dokuments. Für die Aufnahme in die C++ -

Ist C++17 std::shared_mutex noch nicht verfügbar?

Anzahl der Antworten 2 Antworten
Blick auf C++ - compiler unterstützt, es scheint, dass ohne Zeitangabe version von std::shared_mutex steht in den GCC 5.0+. Aber auch mit gcc version 5.3.0 20151204 (Ubuntu 5.3.0-3ubuntu1~14.04), und kompilieren mit -std=c++1z eine einfache Initialisierung einer freigegebenen

Was sind die evaluation, um Garantien eingeführt, die von der C++17?

Anzahl der Antworten 3 Antworten
Was sind die Auswirkungen der Europawahlen C++17 evaluation Bestellung garantiert (P0145) auf typische C++ - code? Was ändert es, über Dinge wie i=1; f(i++, i) und std::cout << f() << f() << f() ; oder f(g(),h(),j()); Bezogen

std::ignore mit strukturierten Bindungen?

Anzahl der Antworten 2 Antworten
Prelude: std::tuple<int, int, int> f(); std::tuple<int, int, float, int> g(); C++1z einführen syntax für strukturierte Bindungen, die es möglich machen, zu schreiben, anstatt int a, b, c; std::tie(a, b, c) = f(); etwas wie auto [a, b,

Was ist Erlaubt in einer constexpr-Funktion?

Anzahl der Antworten 1 Antworten
constexpr - Funktionen sind nicht enthalten soll: Definition einer Variablen von nicht-wörtliche Art Aber in diese Antwort ein lambda-Ausdruck definiert ist, in einem: https://stackoverflow.com/a/41616651/2642059 template <typename T> constexpr auto make_div(const T quot, const T rem) { return

Was ist der Wert von " __cplusplus C++17?

Anzahl der Antworten 4 Antworten
Versuchen wir testen einige code unter C++17 und seine ändern zu std::uncaught_exception. Ich kann nicht scheinen, um GCC zu bieten, den Wert von __cplusplus: $ /opt/local/bin/g++ -std=c++17 -dM -E - </dev/null | grep __cplusplus cc1: warning: command

Wie zu aktivieren /std:c++17 in VS2017 mit CMake

Anzahl der Antworten 2 Antworten
Ich versuche, fügen Sie die /std:c++17 compiler-flag VS2017 mit CMake. Ich bin mit dem "modernen" cross-Plattform so weit: set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # -std=c++11 instead of -std=gnu++11 set(MY_CXX_COMPILE_FEATURES cxx_generic_lambdas cxx_range_for cxx_strong_enums) add_library(mylib INTERFACE) target_compile_features(mylib INTERFACE

Konvertierung von std::string_view std::string ist implizit. Was zum Teufel hatte Committee denken?

Anzahl der Antworten 1 Antworten
Ernst, was ist nicht bis. Es ist eine implizite Konvertierung von std::string zu std::string_view und es nicht als unsicher. Auch wenn dies sicherlich dazu führen, eine Menge hängende Referenzen, wenn die Programmierer nicht aufpassen. Auf der anderen

template-argument Abzug mit stark typisierte Aufzählungen

Anzahl der Antworten 4 Antworten
Wenn ich einen normalen (schwachen) Aufzählung, kann ich seine aufgezählten Werte als nicht-Typ template-Parameter, etwa so: enum { Cat, Dog, Horse }; template <int Val, typename T> bool magic(T &t) { return magical_traits<Val>::invoke(t); } und rufen Sie

Vorteile der auto-im-template-Parameter in C++17

Anzahl der Antworten 3 Antworten
Was sind die Vorteile auto im template-Parameter, die (möglicherweise) eingeführt werden, die mit C++17? Ist es nur eine Natürliche Erweiterung von auto wenn ich will, zu instanziieren template-code? auto v1 = constant<5>; //v1 == 5, decltype(v1) is

Veraltet-header <codecvt> Ersatz

Anzahl der Antworten 3 Antworten
Etwas Vordergrund: meine Aufgabe erforderlich, die Umwandlung von UTF-8-XML-Datei in UTF-16 (mit richtigen header natürlich). Und so suchte ich über die üblichen Wege der Umwandlung von UTF-8, UTF-16, und fand heraus, dass man Vorlagen verwenden, aus <codecvt>.

Iterator Aufhebungs-Regeln

Anzahl der Antworten 5 Antworten
Was sind die iterator-Aufhebungs-Regeln für C++ Container? Vorzugsweise in einer zusammenfassenden Liste format. (Hinweis: Dies ist gedacht, um einen Eintrag zu Stack-Überlauf C++ FAQ. Wenn Sie möchten, dass die Kritik der Idee der Bereitstellung eines FAQ in

Was sind die neuen features in C++17?

Anzahl der Antworten 1 Antworten
C++17 ist nun feature complete, also kaum erleben große Veränderungen. Hunderte von Vorschlägen wurden vorgebracht für C++17. Welche features wurden Hinzugefügt, um C++ in C++17? Bei einem C++ - compiler unterstützt C++1z", welche features verfügbar sein, wenn

"Auspacken", ein Tupel zu nennen, eine matching-Funktion Zeiger

Anzahl der Antworten 8 Antworten
Ich versuche zu speichern in einer std::tuple eine unterschiedliche Anzahl von Werten, die später verwendet werden als Argumente für einen Aufruf einer Funktion, Zeiger mit dem gespeicherten Typen. Habe ich ein Vereinfachtes Beispiel zeigt das problem, das

fatal error: filesystem: No such file or directory

Anzahl der Antworten 1 Antworten
Verwenden, CentOs 7.1, gcc version 6.1.0 (GCC) Ich erhalte diese Fehlermeldung: fatal error: filesystem: No such file or directory auf dieser Linie #include <filesystem> kompilieren mit g++ main.cpp -o main -std=c++17 wo ist das problem? Ihre Konfiguration

Kann nicht mit c++17 Funktionen mit g++ 7.2 in QtCreator

Anzahl der Antworten 3 Antworten
Habe ich kürzlich aktualisiert, gcc und g++ in der version 7.2. Ich möchte versuchen, aus std::experimental::any und std::variant im besonderen, und ich bin mit Qt 5.9.1 in QtCreator. So weit ich habe dies geschrieben in der Projekt-Datei:

Compiler für C++ 17

Anzahl der Antworten 2 Antworten
Ist es eine online-Ort, wo ich einen C++17 code, wie ich will, zu lernen, die neue features von C++ 17. Ich habe versucht, es läuft auf eingebaute Coliru compiler GCC 6.1 C++ 17. Aber es ist leider

Aktivieren der C++17 in CMake

Anzahl der Antworten 3 Antworten
Bin ich mit VS 15.3, die CMake unterstützt die Integration von 3.8. Wie kann ich die Ziel-C++17 ohne Fahnen schreiben, die für jede spezifische Compiler? Meine aktuellen globalen Einstellungen funktionieren nicht: # https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON)

macOS Clang C++17-Dateisystem-header nicht gefunden

Anzahl der Antworten 5 Antworten
Ich muss ein Programm schreiben mit dem (experimentellen) C++17 Dateisystem-Bibliothek, aber clang auf meine Mac (macOS 10.12.03) scheint nicht zu haben die Dateisystem-header enthalten. Da bin ich erforderlich, um die C++17 ist, kann ich nicht verwenden, alternativen

Aktivieren der C++17 zu kompilieren in Visual Studio?

Anzahl der Antworten 4 Antworten
Will ich mit C++17 Funktionen. Wie kann ich wechseln, kompilieren von C++14, C++17, die in Microsoft Visual Studio? Oder es ist nicht lieferbar in release-Versionen von VS? InformationsquelleAutor der Frage Tudvari | 2016-12-23

Wie setzen Sie Coroutinen in C++

Anzahl der Antworten 17 Antworten
Ich bezweifle, dass es getan werden kann, portabel, aber gibt es irgendwelche Lösungen gibt? Ich denke, es könnte getan werden, indem eine Alternative stack und rücksetzen SP,BP und IP auf die Funktion Eintrag, und mit der Ausbeute

Aktivieren der C++17 auf Mac?

Anzahl der Antworten 2 Antworten
Ich bin in der Lage zu aktualisieren, gcc auf Linux, um -std=c++17 aber nicht das gleiche auf dem Mac. Gibt es eine version von Clang kann ich aktualisieren oder einige andere alternative zu C++17 auf meinem Mac?

Was aus i = i++ + 1; legal in C++17?

Anzahl der Antworten 3 Antworten
Bevor Sie beginnen zu Schreien Undefiniertes Verhalten, das ist explizit aufgelistet in N4659 (C++17) i = i++ + 1; //the value of i is incremented Doch in N3337 (C++11) i = i++ + 1; //the behavior is

Wie kann ich meinen benutzerdefinierten Typ so einstellen, dass er mit "range-based for loops" funktioniert?

Anzahl der Antworten 7 Antworten
Wie viele Menschen in diesen Tagen, ich habe versucht, die verschiedenen Funktionen, die C ++ 11 mit sich bringt. Einer meiner Favoriten ist der "range-based for loops". Ich verstehe, dass: for(Type& v : a) { ... }

Was ist der Zweck von std :: launder?

Anzahl der Antworten 1 Antworten
P0137 führt die Funktion Vorlage std::launder und macht viele, viele änderungen an den standard in den Abschnitten über die Gewerkschaften, Lebensdauer und Zeiger. Was ist das problem mit diesem Papier ist die Lösung? Was sind die änderungen

Aufzählung in modernem C ++ 11 / C ++ 14 / C ++ 17 und zukünftigem C ++ 20

Anzahl der Antworten 22 Antworten
Im Gegensatz zu allen anderen ähnlichen Fragen, diese Frage ist über die Verwendung des neuen C++ - Funktionen. 2008 c gibt es eine einfache Möglichkeit zu konvertieren C++ enum zu string? 2008 c Einfache Möglichkeit zur Verwendung

experimental :: Dateisystem-Linker-Fehler

Anzahl der Antworten 3 Antworten
Ich versuche es mal mit der neuen c++1z Merkmale tatsächlich auf der Leiter der Entwicklung im gcc 6.0. Wenn ich versuche, dieses kleine Beispiel: #include <iostream> #include <experimental/filesystem> namespace fs = std::experimental::filesystem; int main() { fs::path p1

Wie genau ist std :: string_view schneller als const std :: string & amp;

Anzahl der Antworten 5 Antworten
std::string_view hat es zu C++17 und es wird allgemein empfohlen, es zu benutzen, anstatt const std::string&. Einer der Gründe ist die Leistung. Kann mir jemand erklären, wie genau std::string_view ist/wird schneller sein als const std::string& bei Verwendung

Führt C ++ 11, 14, 17 oder 20 eine Standardkonstante für Pi ein?

Anzahl der Antworten 6 Antworten
Es ist ein ziemlich dummes problem mit der Zahl pi in C und C++. Soweit ich weiß M_PI definiert in math.h ist nicht erforderlich, von jedem standard. Neuen C++ - standards eingeführt, die eine viel komplizierte Mathematik

Was sind Verträge in C ++ 17?

Anzahl der Antworten 3 Antworten
Ich war Lesung über Verträge im Gedanken über C++17 von B. Stroustrup und unterstützt eine kleine Präsentation darüber zu sprechen, aber ich bin nicht sicher, ob ich verstanden habe, Sie wirklich. Also ich habe ein paar Verhöre

Holen Sie sich Apple Clang-Version und entsprechende Upstream-LLVM-Version

Anzahl der Antworten 6 Antworten
Möchte ich verstehen, welche version von clang Apple installiert ist, auf meinem macbook, um zu sehen, mit c++11 und/oder c++14 features zur Verfügung stehen. Ich tippte den Befehl: clang --version //----response Apple LLVM version 7.0.0 (clang-700.1.76) Target:

Was sind die neuen Funktionen in C ++ 17?

Anzahl der Antworten 1 Antworten
C++17 ist nun feature complete, also kaum erleben große Veränderungen. Hunderte von Vorschlägen wurden vorgebracht für C++17. Welche features wurden Hinzugefügt, um C++ in C++17? Bei einem C++ - compiler unterstützt C++1z", welche features verfügbar sein, wenn

Wie funktionieren Inline-Variablen?

Anzahl der Antworten 2 Antworten
Im Jahr 2016 Oulu ISO C++ - Standards meeting, einen Vorschlag genannt Inline-Variablen gewählt wurde in C++17 mit dem standards committee. In juristischer Hinsicht, was sind inline-Variablen, wie funktionieren Sie und wofür sind Sie nützlich? Wie sollte