std::filesystem brought in a nice set of features to C++’s standard library in 2017 and it became much easier to write cross platform code that deals with paths. Long gone are those days when for Linux you had to use / as path separator and on Windows the opposite . While working strictly with paths has become easier and you can pretty much ignore the peculiarities of different systems, you actually can’t escape from specific platform code when you start to use the files that those paths reffer to.