La forma en que solía mejorar mi C++ es leyendo el código fuente de leveldb. Porque leveldb es un código de nivel de producto. Para que pueda aprender la expresión idiomática cpp y el patrón de diseño de un producto real. Permítame mostrarle un ejemplo
Leveldb utiliza la expresión Pimpl, casi en todo su archivo principal, como table.h table_build.h write_batch.h. Puede aprender del código directamente
LevelDB utilizar muchos patrón de diseño orientado a objetos, tales como patrón de acumulación, la mesa tiene la clase table_build para construir la tabla, el bloque tiene la clase block_build para construir el bloque
LevelDB también use el patrón Iterator, el iterador nos hace usar el nivelldb más conveniente.
Así que creo que leveldb contiene muchos modismos idiomáticos o de diseño que el ingeniero de C++ debería saber.
@anon Implementación de RAII, sin duda. ¿Implementando punteros inteligentes ref-contados? Espero que las implementaciones que ya existen sean suficientes para evitar la necesidad de eso. –