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.
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,
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
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); };
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 +
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$
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++ -
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
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
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,
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
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
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
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
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
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
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>.
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
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
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
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
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:
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
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)
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
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
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
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?
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
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) { ... }
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
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
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
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
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
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
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:
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
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