Ich benutze normalerweise Boost, um einige Funktionen zu implementieren, speziell das boost :: filesystem (1.58.0).Von boost zu std :: experimental und weiterhin C++ 17
Auch verwende ich std :: experimentell string_view (mein Compiler enthielt es nicht als Standard noch - g ++ 5.4.0 20.160.609).
Da die Boost-Funktionen, die ich verwende aprooved ich C++ 17 bereit sein will.
Fortunaly Ich verwende die folgenden Befehle in meinem Code:
using namespace boost::filesystem; //the only exeption is to boost::filesystem::remove
using namespace std::experimental;
Wenn ich die Boost-Leitung zu ‚using namespace std::experimental::filesystem;
‘ ersetzen werde ich genau das gleiche Verhalten wie Boost-Implementierung mit Veränderungen nichts mehr in meinem Code bekommen?
Und nachdem ich den offiziellen gcc-Compiler bekommen mit diesen Merkmalen bereits standardmäßig enthalten alles, was ich brauchen, ist zu tun: a) ändert sich die ‚std::experimental::filesystem;
‘ auf ‚std::filesystem
‘ b) löschen die Zeile ‚using namespace std::experimental;
‘
und bekomme das gleiche Verhalten mit Änderung nichts mehr in meinem Code?
Welche anderen Boost-Funktionen sind in C++ 17 enthalten und können auch einfach wie oben beschrieben ersetzt werden?
Während einige der neuen Funktionen auf Boost-Bibliotheken basieren oder von diesen inspiriert sind, gibt es möglicherweise keine Eins-zu-Eins-Übersetzung der Boost-Bibliotheken in die Standardbibliothek. Mit dem gesagt, bezweifle ich, dass es etwas Großes oder Gemeines geben wird, das geändert wurde (wenn überhaupt), so dass Sie in der Lage sein sollten, 'std :: filesystem' genauso wie die Boost-Dateisystem-Bibliothek zu verwenden. –
Boost-Dateisystem und Boost-Threads sind die einzigen beiden, von denen ich weiß, dass sie versuchen, die Standardvorschläge zu verfolgen. Dies wird sofort durch die Tatsache reflektiert, dass sie viele brechende Änderungen in der öffentlichen Schnittstelle haben (Boost Dateisystem v2/v3, und Boost Thread verwendet ein Dutzend wichtige bedingt kompilierte Merkmalsauswahlmakros) – sehe