Ho usato più costrutti C++ "moderni" per un po ', ma in modo superficiale e non ovunque. Sto cercando progetti open source da studiare che siano buoni esempi di utilizzo moderno di C++ e STL.Esempi di "moderno C++" in azione?
Cose come quanto suggerito in "STL efficace" della Meyer, come ad esempio cercando di evitare for
loop e sostituirli con costrutti più funzionali, utilizzando boost :: bind e boost :: funzione, ecc Questi si sentono ancora un po 'innaturale per me, e quando devo fare qualcosa velocemente e lavorando, tendo a tornare a libc e string.h (puoi avere il mio strtok quando lo fai fuori dalle mie mani fredde, morte).
Tuttavia, ho anche avuto l'esperienza positiva di trovare quello che sarebbe stato un drastico cambiamento semplificato perché ho usato questi costrutti, o di essere in grado di implementare qualcosa con solo poche righe di codice, perché avevo il diritto operatori e funtori in giro. Inoltre, di recente ho prestato più attenzione alla concorrenza, e quindi questo sta diventando ancora più importante per me.
Potete consigliare alcuni esempi di progetti open source ben scritti che fanno un uso pesante dell'STL e di altre tecniche C++ moderne che potrei studiare? Sono particolarmente interessato al codice dell'applicazione, la navigazione nelle fonti Boost è stata utile, ma è per necessità molto generale perché è il codice della libreria.
Sono interessato a progetti di dimensioni medio-grandi, almeno alcune decine di migliaia di linee. È piuttosto facile trovare esempi di qualche centinaio di righe, ma non è di grande aiuto.
Posso togli il tuo strtok() ma ti restituisce strtok_r()? È thread-safe e rientranti. –
Ho rinunciato a strtok quando ho scritto una classe tokenizer che restituiva un const_iterator dal suo metodo begin() per farmi scorrere i token. –
Boost's String Algo, Regex, Spirit, Xpressive (e anche Tokenizer se sei sfortunato) mangeranno 'strok()' alive. :) – jfs