Dovrei imparare il C ++ sulla base di nuovi o vecchi standard (specifica)?

StackOverflow https://stackoverflow.com/questions/865209

  •  21-08-2019
  •  | 
  •  

Domanda

OK, sto considerando di entrare in C ++ sviluppo nei prossimi mesi (non v'è alcuna data set). Sono vagamente familiare con la lingua (soprattutto C), così come alcune nozioni di base di OO, MI, i modelli, le eccezioni, i modelli, STL utilizzato. E ora sono al momento in cui vorrei padroneggiare la lingua in profondità. E la domanda naturale è se dovrei
iniziare con corrente C ++ 03 o C ++ 0x di serie.

Si prega di suggerire ciò che il modo migliore per andare da un utente di guru, dato che il nuovo standard è quasi qui, e destinato a rimanere per molti anni a venire.

Grazie

È stato utile?

Soluzione

La mia raccomandazione è di iniziare nel mezzo. Inizia con C ++ 03, ma controllare le caratteristiche e C ++ 0x librerie che alcuni compilatori stanno già offrendo ogni tanto spesso. A partire da ora, C ++ 03 è lo standard (non solo formalmente, ma la maggior parte del codice troverete sarà rigorosamente C ++ 03).

Ora, se si ha intenzione di apprendimento andare per il meglio: iniziare rapidamente con basi STL e saltare in librerie Boost subito. Scopri i modelli per tutta la strada, continuate a leggere metaprogrammazione. Moderna C ++ 03 utilizzo si arriva sulla strada giusta per il C ++ 0x.

Altri suggerimenti

Per saperne di più vecchio standard di C ++ 03. C ++ 0X è ancora un paio di anni di distanza (almeno) da anche di essere ratificato come standard. Una volta che è standardizzato, ci vorrà tempo prima che qualsiasi implementazioni conformi sembra che il sostegno tutte le sue caratteristiche, e ci vorrà un anche più di tempo prima che le implementazioni C ++ 0X diventato significativamente popolare e spesso utilizzato.

A mio parere, imparare il C ++ 03 è più pratico. Se non ti dispiace apprendere nuove funzionalità, ma è possibile utilizzare parziale per diversi anni, C ++ 0x è meglio. La buona notizia è g ++ nuova versione e VC ++ 2010 parti già realizzate di nuove c ++ 0x caratteristiche.

L'apprendimento della nuova C ++ 0x dispone è un ottimo modo per imparare di più su C ++ 03 in modo approfondito perché si vede come C ++ 03 opere, i problemi con esso, quindi cosa c ++ 0x si propone di fare per risolvere questi problemi.

Ho avuto questa esperienza recente conoscere i nuovi riferimenti rvalue e spostare la semantica. In C ++ 03 c'è un sacco di creazione temporanei non necessari e la copia nelle espressioni, imparare a conoscere il motivo per cui C ++ 03 ha questo problema e come C ++ 0x risolve questo problema era abbastanza illuminante e informato il mio attuale sviluppo C ++.

Sta andando essere a pochi anni prima di compilatori C ++ 0x sono comuni. Così, al momento, non hai molta scelta. Imparare C ++ 03, e poi si può imparare il nuovo materiale a parte, quando sarà il momento. Le differenze fondamentali non sono un granché. 0x è soprattutto una questione di nuove caratteristiche che vengono imbullonato, e funzionalità esistenti di essere generalizzato e snella. La conoscenza di C ++ 03 sarà ancora applicabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top