我有以下示例代码,我在 Visual Studio 2019 和https://godbolt.org/上运行。我可以看到有两种不同的行为。可能的原因是什么?
#include <iostream>
#include <filesystem>
int main()
{
std::filesystem::path p("//net");
std::cout << "root name of " << p << " is " << p.root_name() << std::endl;
}
visualstudio 2019 中的输出:“//net”的根名称为“//net”
https://godbolt.org/中的输出:“//net”的根名称为“”
我刚刚阅读了http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf - 8.4.9 路径分解 [path.decompose] 但不明白原因。
另外,我阅读了下面的代码,std::filesystem
但并不完全理解
_NODISCARD path root_name() const {
// parse the root-name from *this and return a copy if present; otherwise, return the empty path
return _Parse_root_name(_Text);
}
有没有人可以更详细地解释我以了解问题?