Filesystem Technical Specification (TS) è stato recentemente integrato nello standard C++ 17.È sicuro utilizzare le specifiche tecniche C++ approvate per uno standard futuro in uno standard precedente?
Lo stesso TS è disponibile anche per C++ 14, ma in questo caso è tecnicamente solo "sperimentale". Tuttavia il fatto che sia stato approvato per C++ 17 mi fa pensare che sia abbastanza maturo e che possa essere usato tranquillamente.
Quando si lavora su un progetto C++ 14 che molto probabilmente verrà aggiornato a C++ 17 in futuro, e supponendo che il compilatore che uso lo supporti su entrambe le versioni, si sconsiglia l'uso del TS "sperimentale", considerando che farà ufficialmente parte del prossimo standard?
La mia domanda ovviamente si estende a qualsiasi TS che è stato accettato in una versione futura di C++ e che è disponibile per gli standard precedenti.
Chiedi al tuo fornitore. La più grande preoccupazione è che le API cambino tra TS e IS in modo arbitrario, quindi c'è un costo futuro non quantificabile della migrazione. Quel costo * potrebbe * essere molto piccolo, però. –
Qui non è possibile ottenere una garanzia. Nel caso improbabile che scoppi ancora, è difficile immaginare che ci vorranno più di un paio d'ore per ripiegare su Boost.Filesystem. Se pensi che sia "sicuro", nessuno lo sa. –
A meno che non si consideri il compilatore in grado di prevedere il futuro. – EJP