2009-06-02 13 views
8

Non ho toccato il C++ in più di 8 anni. Di recente ho dovuto risolvere alcuni codici C++ e, sebbene sia ancora in grado di codificare, mi sembra di non appartenere più al campo dei programmatori C++. Non conosco librerie, non presta attenzione alle nuove funzionalità linguistiche/miglioramenti/best practice.Ri-imparare le moderne risorse C++?

Qt Creator e Qt sembrano un bel set di strumenti per ciò di cui ho bisogno ora, poiché sono interessato principalmente allo sviluppo multipiattaforma.

Quali sarebbero buone risorse per qualcuno come me per ri-imparare rapidamente C++ e le migliori pratiche nel più breve periodo di tempo?

Nel frattempo ho fatto principalmente java e common lisp, con passi brevi verso C, flex, Scala e Haskell.

+0

Potrebbe trovare alcune buone idee qui: http://stackoverflow.com/questions/777764/what-modern-c-libraries-should-be-in-my-toolbox/777779 –

+0

Si prega di notare alcune di queste risposte sono no più rilevante nel 2017! Il linguaggio ha fatto molta strada negli ultimi 8 anni, inoltre alcune delle risorse suggerite qui precedono la domanda di quasi un decennio. – einpoklum

risposta

6

Conoscere la T.ibrlate S. standard.

Scopri subito se sei davvero all'avanguardia.

Leggere i libri "efficace C++" e "efficace STL" di scott meyers.

Leggere "C++ faq lite".

(non necsissarily in questo ordine)

1

Prima familiarizzare di nuovo con i puntatori, riferimenti, ecc

Poi mi piacerebbe solo bastone con Qt. Le regole di documentazione di Qt e IIRC, i contenitori di Qt sono ancora più efficienti di quelli di STL. Il fatto che il codice per la tua GUI Qt sia ancora più elegante aggiunge anche l'appeal di Qt. Aggiungi al fatto che i documenti di Qt contengono molti esempi di codice semplici e alcuni relativamente avanzati con cui puoi giocare, e dovresti essere di nuovo in grado di accelerare in pochissimo tempo.

Non sarebbe male sapere/utilizzare STL/Boost. Ma stai lontano (lontano) da GTK.

+1

non dimenticarti dei puntatori. è come andare in bicicletta, colpisci il terreno alcune volte e non dimenticarlo mai. vieni a pensarci, ottieni anche la stessa libertà dell'aria fresca ... – Javier

+1

Per non parlare: dimentica i puntatori nudi. I puntatori intelligenti sono molto meglio. (OK, sto esagerando un po ', ma puntatori intelligenti hanno modi per ottenere il puntatore nuda schiena.) –

+2

Come si determina che i contenitori di Qt sono più efficienti quindi contenitori di STL? –

2

Se sei interessato allo sviluppo di GUI, vai con Qt. È il migliore là fuori, e il prezzo è giusto. Si discosta piuttosto da standard rigidi; ma non senza ragione, e anche così, fa alcuni sforzi per usare stili di codifica simili, se del caso.

Se sei più interessato alla CLI o ai processi server, Qt può ancora aiutarti; ma non ha un vantaggio così grande. Lì sarebbe più produttivo andare con STL e (specialmente) Boost.

14

Leggi:

Questi sono riferimenti libri su C++ che riassumono tutte le pratiche, le filosofie e le conoscenze moderne efficaci in C++ (senza entrare nelle cose della Meta-Programmazione).

Poi, se si vuole andare più lontano, leggi:

A proposito di biblioteche: prima conoscere la STL e impara a usare Boost come estensione STL "standard".

+0

+1 per il design C++ moderno. Sono uno sviluppatore di loki-lib :) –

+0

+1 per Efficace C++. È il gold standard e onestamente, se fossi al comando di una squadra, mi assicurerei che tutti la leggessero. – rlbond

+0

La migliore lista di libri C++ che abbia mai visto. Vorrei che ogni sviluppatore di C++ leggesse ciascuna di queste cover per la copertina. –

1

codice Codice e poi il codice più!

Prova a fare progetti in cui si mescolano le tecniche si acquisiscono dai libri. Come menzionato in altri post, ci sono un sacco di buoni libri sulla programmazione in C++. Applicare schemi di progettazione e tecniche da questi libri in situazioni di codifica reale ti farà tornare in pista rapidamente.

Inoltre, se si sta codificando per esperienza, non aver paura di provare un bottino di librerie diverse. La moltitudine è buona perché ti aiuta a capire come sono costruite diverse librerie e ti aiuta a trovare le librerie che vuoi usare per i progetti reali in seguito.

2

Dai un'occhiata a A.Koenig e B.Moo's Accelerated C++.

Gli altri libri citati sono buoni libri, ma ti richiedono molto tempo per leggerli tutti. AC++ insegna il C++ moderno (come in opposizione con lo storico C++ - non si tratta di modelli magici).

L'ultimo libro di B.Stroustrup, Programming -- Principles and Practice Using C++, sembra (non l'ho ancora letto) anche interessante.

Problemi correlati