Некоторые различия между библиотеками <experimental/filesystem>
и <filesystem>
:
<filesystem>
поддерживает файловые системы для Microsoft Windows и POSIX, а <experimental/filesystem>
— только для старой экспериментальной реализации. 1 <filesystem>
(стандарт C++17) функция canonical() имеет перегрузку, которая принимает базовый путь, который может быть использован для разрешения пути, переданного в первом аргументе. 2 В библиотеке <experimental/filesystem>
такой перегрузки нет. 2<filesystem>
оператор вставки (<<) предоставляет строку такой, какая она есть, без кавычек и без экранирования. 2 В библиотеке <experimental/filesystem>
оператор вставки (<<) заключает полный путь в кавычки и экранирует обратную косую черту (). 2Кроме того, библиотека <filesystem>
несовместима с предыдущей версией std::experimental, так как в ней есть поддержка асимметричных ссылок, исправления ошибок и изменения в стандартном поведении. 1