è un tipo di stato GCC/C++ 14 simile a "beta" e quindi GCC/C++ 14 non è pronto per il codice di produzione?
Dipende dalle funzioni utilizzate. make_unique
è molto semplice, è facile da implementare e dovrebbe essere sicuro.
Alcune delle altre nuove funzionalità (in particolare le funzionalità del linguaggio di base) hanno richiesto molto più lavoro da implementare e potrebbero avere più bug in attesa di essere trovati e risolti.
Quindi non c'è una sola risposta "è pronta" o "non è pronta".
Tuttavia, una cosa importante da tenere presente è che, sebbene sia ancora etichettato come sperimentale, non esiste alcun tentativo di mantenere la compatibilità con le versioni precedenti tra GCC 4.xe GCC 5, ad esempio. Quindi se hai codice C++ 11 compilato con GCC 4.8, devi ricompilare tutto se vuoi collegarti ad altri oggetti C++ 11/C++ 14 costruiti con 4.9, e similmente se/quando ti sposti a GCC 5 : ricompila tutti gli oggetti che usano C++ 11 o C++ 14 (perché tipi come std::tuple
hanno cambiato il layout dei dati in GCC 5).
Per il codice C++ 03 non cambiamo le definizioni tra le versioni, quindi sono stabili.
fonte
2015-03-10 21:22:56
IMO, non può essere pronto fino al completamento del supporto C++ 11 (ad esempio: codecvt, et al). – Brandon
Questo potrebbe essere utile - [GCC C++ 2014 Implementation Status] (https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014) –
@Brandon: Penso che gli sviluppatori GCC potrebbero target C++ 14 nel suo complesso, invece di separare le parti C++ 11 da C++ 14, ad es se ci sono funzionalità utili in C++ 14, queste potrebbero essere prioritarie rispetto a funzioni meno utili di C++ 11. D'altra parte, anche se cose come codecvt et al. non sono finiti, considereresti GCC pronto per il codice C++ 11 di qualità di produzione? –