Migliore panoramica sui moderni paradigmi C ++? [chiuso]

16

Ho scritto molto C ++ in modo estensivo tra 8 e 10 anni fa. Da allora mi sono spostato in C # per motivi professionali. Tuttavia, di tanto in tanto vedo affermazioni come

"If you're still manually tracking pointer references, you're doing it wrong"

o

"C++ is perfectly safe as long as you're using modern concepts like RAII and not manually allocating memory like a recovering C developer."

Entrambi erano procedure standard una decina di anni fa. Ho visto che il C ++ è stato migliorato considerevolmente negli ultimi tempi; C ++ 0x in particolare sembra che abbia alcune nuove funzionalità. Qual è la migliore risorsa per un programmatore "C / old C ++" per essere catturato dai "moderni" modelli e pratiche C ++?

    
posta GWLlosa 09.05.2012 - 21:18
fonte

2 risposte

5

Potrebbe avere più a che fare con il materiale didattico rispetto alla maggior parte delle altre cose, ma 8-10 anni fa mi sembra che il modo in cui la lingua è stata usata differisse molto da oggi. Oggi l'attenzione si concentra maggiormente sui modelli, sulla sicurezza dei tipi e sulla programmazione generica, in cui prima c'era più paura di tutto ciò e le persone si focalizzavano quasi esclusivamente sulla C con gli aspetti degli oggetti.

Anche i materiali didattici stanno cambiando. Mentre prima il libro di inizio C ++ standard ti porta attraverso printf, scanf, ecc ... difficilmente riesci a vederli nei libri con un approccio moderno.

Alcuni buoni libri sono alcuni dei libri rossi. Eccezionale C ++, Eccezionale C ++, C ++ Template Metaprogramming, Modern C ++ Design, C ++ accelerato ...

Penso che guardare a dove lavoro attualmente possa essere un buon esempio. Sono venuto qui usando C ++ in modo moderno e sembra che molti sviluppatori non sappiano nemmeno cosa sto facendo o perché. Creare oggetti con operator () in essi, ad esempio ... Doveva commentare l'inferno di ogni occorrenza di bind () e alla fine è stato detto di eliminare tutto quel codice. Non so cosa facciano gli inizializzatori ... È stato davvero pazzesco e difficile per me in realtà.

    
risposta data 10.05.2012 - 00:12
fonte
5

Per ottenere una rapida supervisione delle funzionalità moderne presentate abbastanza bene, non dovresti sbagliare a visualizzare Herb Sutter presentazione recente ," Scrivere codice C ++ moderno: come C ++ si è evoluto nel corso degli anni "delle funzionalità di C ++ in // build /.

Parla del perché è un linguaggio migliore di C # (ovviamente - Microsoft cambia i suoi pantaloni regolarmente, e oggi indossano il modo C ++ per farli salire di testa, solo che hanno lanciato C # come risposta al mondo fame un decennio fa) ma nel farlo descrive tutti i bit buoni (come la gestione della memoria 'automatica' e le classi STL) e poi continua a parlare dei nuovi bit dallo standard C ++ 0x.

    
risposta data 10.05.2012 - 01:13
fonte

Leggi altre domande sui tag