У меня есть проект, который в настоящее время использует С++ 11/14, но для него требуется нечто вроде std::filesystem
, которое доступно только на С++ 17, и поэтому у меня нет возможности его использовать. Я вижу, однако, что он доступен в моем текущем компиляторе как std::experimental::filesystem
. Является ли хорошей идеей использовать экспериментальные функции, предполагая, что в будущем я мог бы добавить что-то вроде:
#ifdef CXX17 //if this is C++17
std::filesystem::something ...;
#else
std::experimental::filesystem::something ...;
#endif
Мои проблемы:
1. Гарантировано ли, что все совместимые компиляторы имеют одни и те же экспериментальные возможности?
2. Являются ли экспериментальные особенности склонными к большим изменениям, которые делают их ненадежными?
Может быть, есть еще кое-что, о чем можно подумать. Почему я должен или не должен использовать их? Я озадачен новым проектом и не знаю, что решать.