Funzionalità di C ++ 11 in Visual Studio 2012

Una versione di anteprima di Visual Studio 2012 (la prossima versione dopo VS2010) è ora disponibile .

Qualcuno sa quali nuove funzionalità di C ++ 11 supporta? (Non sono in grado di provarlo al momento).

Vale la pena notare che Visual Studio 2010 aveva già un po ‘di supporto per C ++ 11. Quindi, per riassumere ciò che è già collegato ad altre risposte, ecco cosa c’è di nuovo in Visual Studio 11 che non faceva parte di Visual Studio 2010:

  • riferimenti di rvalue alla versione 2.1 da 2.0
  • lambda alla versione 1.1 dalla 1.0.
  • decltype alla versione 1.1 da 1.0 (non ancora disponibile nell’anteprima dello sviluppatore)
  • Allineamento migliorato, ma ancora incompleto
  • completato enum fortemente tipizzato
  • avanti enum dichiarato
  • Layout standard e tipi banali
  • Atomics
  • Forte confronto e scambio
  • Recinzioni bidirezionali
  • Ordinamento della dipendenza dai dati
  • Basato sul ciclo per loop

All’inizio di novembre 2012, Microsoft ha annunciato il compilatore Visual C ++ Novembre 2012 CTP , che aggiunge ulteriori funzionalità di C ++ 11 a Visual Studio 2012:

  • inizializzazione uniforms
  • liste di inizializzazione
  • modelli variadici
  • argomenti predefiniti del modello di funzione
  • debind i costruttori
  • operatori di conversione espliciti
  • stringhe crude

Ecco l’elenco delle funzionalità della nuova versione di Visual Studio ed ecco l’elenco di ciò che tutti i compilatori supportano

C’è una lista lì . Ciò che mi colpisce di più sono le caratteristiche che ancora mancano :

  • Hanno detto che avrebbero implementato modelli variadici come priorità e non l’hanno fatto.
  • Dovremo ancora dichiarare manualmente i costruttori di mosse per molte classi, poiché non vi sono costruttori deleganti.
  • I costruttori ereditari non sono presenti e questo sarebbe veramente necessario per alcuni codici
  • Nessuna inizializzazione uniforms, in particolare nessuna lista di inizializzatori. Questo fa schifo quando li hai usati con g ++.
  • Ancora nessuna archiviazione locale del thread corretta. Quindi sei bloccato con boost::thread_specific_ptr per un po ‘.

Tutte le altre caratteristiche che sono ancora mancanti sono principalmente cose che puoi vivere senza. Quello che elenco qui è proprio quello che mi tormenta ogni giorno quando lavoro con VS10. È così irritante che non hanno funzionato affatto sul compilatore.

EDIT: Devo anche aggiungere che emplace_back (una grande funzionalità per i contenitori di libreria standard) non è implementata correttamente.

Durante GoingNative nel febbraio 2012, STL ha annunciato che il range-for sarà in VS11 a partire dalla beta, che è prevista per il 29 febbraio. È disponibile una registrazione del discorso . “The Reveal” è al minuto di 38 minuti di un’ora.

Esiste ora un elenco definitivo di funzionalità C ++ 11 in VS2010 e VS2012 su MSDN .

Prova questo video di Herb Sutter. Questo tipo di persona non ha bisogno di presentazioni !!!

http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T