2

Visual Studio 16.0.0でコンパイルしたときの次の動作にstd::filesystem::path気付きましたが、正しいかどうか疑問に思っています。

#include <filesystem>

int main()
{
    std::filesystem::path absPath1("c:\\foo\\bar");
    std::filesystem::path absPath2("c:/foo/bar");

    bool absPathsAreEqual = absPath1 == absPath2; // absPathsAreEqual is true as expected.

    std::filesystem::path uncPath1("\\\\foo\\bar");
    std::filesystem::path uncPath2("//foo/bar");

    bool uncPathsAreEqual = uncPath1 == uncPath2; // uncPathsAreEqual is false which is a surprise for me.
}

私はパスの専門家ではないので、2 番目のケースでパスが等しくないことに意味があるかどうかはわかりません。これは正しい動作ですか?

4

0 に答える 0