【发布时间】:2018-01-19 18:44:16
【问题描述】:
我找到了这个页面,描述了c++14和c++17的变化:
https://isocpp.org/files/papers/p0636r0.html
...它链接到此页面,该页面描述了建议的文件系统更改:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r0.html
我浏览了一下。标准有一些小的措辞更改,但我看到的唯一代码更改是命名空间更改,删除了“实验”和“v1”部分,因此“std::experimental::filesystem::v1”变成了“std::filesystem ",这是预期的。
据我所知,除了命名空间路径没有任何变化。有谁知道是否还有其他变化?
换句话说,我正在使用带有 -std=c++14 的 gcc。我现在可以使用 std::experimental::filesystem 编写代码,并且将来只需更改此命名空间即可轻松切换到 -std=c++17 吗?
我能找到的最接近重复的问题:
How similar are Boost filesystem and the standard C++ filesystem libraries?
Are the experimental features of modern C++ reliable for long-term projects?
【问题讨论】:
-
找出答案的一种方法:使用它!
-
我认为,正确答案的最大希望是直接在 GCC 网站上提出这个问题。您确实需要对 libstdc++ 内部实现有深入的了解才能回答这个问题,而且在它的开发人员群体之外,您不会发现有那么多人有这方面的知识。
-
你浏览的那篇论文几乎全是importing Boost.Filesystem,所以关于Boost的问题和这篇回答差不多。