Introduced in c++17, std::filesystem::u8path
seems to be deprecated in c++20.
What is the reason for this choice? What should I use in c++17? What should I
Because, thanks to the existence of the C++20 feature char8_t
, this will work:
path p(u8"A/utf8/path");
u8path
existed to allow the detection of the difference between a UTF-8 string and a narrow character string. But since C++20 will give us an actual type for that, it is no longer necessary.
What should I use in c++17?
Use u8path
. Deprecation does not mean removed or inaccessible. It merely means subject to eventual removal.