Quando ho appreso per la prima volta il C ++ 6-7 anni fa, quello che ho imparato era fondamentalmente "C con classi". std::vectorera sicuramente un argomento avanzato, qualcosa che potresti imparare se lo volessi davvero . E certamente nessuno mi diceva che i distruttori potevano essere sfruttati per aiutare a gestire la memoria. Oggi, ovunque guardo, vedo RAII e SFINAE e STL e Boost e, beh, il C ++ moderno. Anche alle persone che stanno appena iniziando con la lingua sembrano aver imparato questi concetti quasi dal primo giorno.
La mia domanda è: è semplicemente perché sto vedendo solo il "migliore", cioè le domande qui su SO e su altri siti di programmazione che tendono ad attirare i principianti (gamedev.net), o è effettivamente rappresentativo del Comunità C ++ nel suo insieme?
Il C ++ moderno sta davvero diventando il default? Piuttosto che essere una cosa di fantasia di cui scrivono gli esperti, sta diventando "il modo in cui C ++ è"? Oppure non riesco a vedere le migliaia di persone che imparano ancora "C con le classi" e scrivono le proprie matrici dinamiche invece di usarle std::vector, e gestiscono la memoria chiamando manualmente il nuovo / elimina dal loro codice di livello superiore?
Per quanto io voglia crederci, sembra incredibile se la comunità C ++ nel suo insieme si è evoluta così tanto in pochi anni. Quali sono le tue esperienze e impressioni?
(dichiarazione di non responsabilità: qualcuno che non ha familiarità con il C ++ potrebbe interpretare erroneamente il titolo chiedendo se il C ++ sta guadagnando popolarità rispetto ad altre lingue. Questa non è la mia domanda. "Il moderno C ++" è un nome comune per un dialetto o uno stile di programmazione all'interno del C ++, che prende il nome dal libro " Design moderno C ++: schemi di programmazione e design generici applicati ", e sono interessato solo a questo rispetto al" vecchio C ++ ". Quindi non c'è bisogno di dirmi che il tempo di C ++ è passato e che tutti dovremmo usare Python;))