2009-09-12 15 views
9

Qualcuno sta utilizzando il supporto GCC 4.4.0 C++0x in produzione? Sto pensando di usarlo con l'ultimo MinGW, ma non sono sicuro che sia abbastanza maturo.Utilizzo della modalità C++ 0x di GCC in produzione?

Sono interessato a:

  • TR1 supporto
  • auto
  • liste di inizializzazione
+6

Il supporto TR1 dovrebbe essere sicuro, in quanto è precedente a C++ 0x. Anche Auto sembra abbastanza innocua. Anche se ci sono bug nella sua implementazione, molto probabilmente si manifestano come errori di tipo facili da correggere, piuttosto che bug in fase di esecuzione. – jalf

risposta

4

IMHO, supporto TR1 e auto sono sicuri da usare. Nel caso di auto era una delle prime caratteristiche da includere nello standard ed è una modifica relativamente piccola della lingua. Pertanto non avrei problemi ad usarlo.

Sarei un po 'più esitante nell'usare initializer lists. Su alcuni altri forum (ad esempio comp.lang.C++. Moderato) ci sono domande sul loro comportamento ed è possibile che possano cambiare più vicino al rilascio dello standard.

4

non sto usando GCC 4.4.0 C++ 0x supporto nella produzione, ma Sto utilizzando le funzionalità TR1 con l'aiuto della libreria Boost http://www.boost.org/.

La libreria Boost è ben collaudata e spesso utilizzata negli ambienti di produzione. Se convertirai allo standard C++ 0x in un secondo momento, l'unica cosa che devi fare è cambiare le tue direttive di inclusione http://www.boost.org/doc/libs/1_40_0/doc/html/boost_tr1.html.

A mio parere è attualmente preferibile utilizzare la libreria Boost fino al termine dello standard. È un modo molto più indipendente dal compilatore.

2

MinGW semplicemente non verrà compilato con '-std = C++ 0x'. Stranamente, '-std = gnu ++ 0x' funziona. Ad ogni modo sembra buggy e non ci conterei.

+1

Proverò a indovinare: l'errore è dovuto alla mancanza di funzioni di ampio carattere come vwsprintf, giusto? Ciò si verifica con -std = C++ 98 o -ansi pure, è un bug MinGW ben noto. Niente di specifico per C++ 0x. –

Problemi correlati