Model Filesystem Technical Specification (TS) został niedawno połączony ze standardem C++ 17.Czy można bezpiecznie używać specyfikacji technicznych C++ zatwierdzonych dla przyszłego standardu we wcześniejszym standardzie?
Ta sama TS jest również dostępna dla C++ 14, ale w tym przypadku jest technicznie tylko "eksperymentalna". Jednak fakt, że został zatwierdzony dla C++ 17 sprawia, że myślę, że jest wystarczająco dojrzały i że można go bezpiecznie używać.
Podczas pracy nad projektem C++ 14, który najprawdopodobniej zostanie uaktualniony do C++ 17 w przyszłości i zakładając, że kompilator, którego używam, obsługuje go w obu wersjach, odradziłbym korzystanie z "eksperymentalnej" TS, biorąc pod uwagę że oficjalnie stanie się częścią następnego standardu?
Moje pytanie dotyczy oczywiście każdej TS, która została zaakceptowana w przyszłej wersji C++ i jest dostępna dla wcześniejszych standardów.
Zapytaj swojego dostawcę. Największym problemem jest to, że interfejsy API zmieniają się między TS a IS w arbitralny sposób, więc nie można oszacować przyszłego kosztu migracji. Koszt * może * być jednak bardzo mały. –
Nie można uzyskać gwarancji tutaj. W mało prawdopodobnym przypadku nadal się to kończy, trudno sobie wyobrazić, że powrót do Boost.Filesystem zajmie więcej niż kilka godzin. Niezależnie od tego, czy uważasz, że jest to "bezpieczne", to nikt się nie domyśla. –
Nie, chyba że uważasz, że Twój kompilator jest w stanie przewidzieć przyszłość. – EJP