modern effective c++ c++11 coding-style effective-c++

effective - ¿Es efectivo C++ todavía efectivo?



effective c++ pdf (3)

Esto es lo que el propio Scott Meyers tuvo que decir al respecto en su propio blog

Lo que puede llevarlo a preguntarse si la información y el asesoramiento en esta edición anterior a C ++ 0x de Effective C ++ siguen siendo relevantes. Me complace informar que sí. Sorprendentemente, de hecho, de hecho. Después de haber pasado casi dos años inmerso en los detalles de C ++ 0x, esperaba gruñir un poco mientras revisaba la tabla de contenidos de este libro con C ++ 0x en mente. Seguramente algunos Artículos serían inapropiados. Pero el consejo que encontré probó ser sólido. ¿Los desarrolladores de C ++ 0x deberían preferir consts, enums y inlines a #defines (Item 2)? Ellos deberían. ¿Deberían evitar que las excepciones salgan de los destructores (elemento 8)? Ciertamente. ¿Deberían usar objetos para administrar recursos? Declarar miembros de datos privados? Considere alternativas a las funciones virtuales? ¿Factorizar código independiente de parámetro de plantillas? (Artículos 13, 22, 35 y 44.) ¡Sí, sí, sí, sí! Mi objetivo siempre ha sido que la tabla de contenido de Effective C ++ resuma los consejos en el libro, y ese resumen sigue siendo tan aplicable al desarrollo de C ++ 0x como al desarrollo de C ++ "tradicional". C ++ 0x es un lenguaje más grande, y de alguna manera es diferente, pero las técnicas centrales para hacer un uso efectivo de C ++ "antiguo" son esenciales para el uso efectivo de C ++ 0x también.

Esto no significa que este C ++ efectivo sea una combinación perfecta para C ++ 0x. El libro no analiza características nuevas en C ++ 0x, por lo que faltan elementos sobre cómo hacer un uso efectivo de esas características. Un C ++ 0xified Effective C ++ ciertamente tendría Elementos dedicados a mover operaciones, a una inicialización uniforme y a expresiones lambda, y probablemente tendría un capítulo completo sobre cómo hacer un uso efectivo de la API de concurrencia. Tal libro también contendría diferentes ejemplos, por ejemplo, los que hacen uso de variables automáticas, bucles for basados ​​en rangos, inicializadores por defecto en clase, así como la plantilla variadic ocasional. En la medida en que este libro se queda corto en su soporte para C ++ 0x, los errores son los de omisión, no de comisión.

ACTUALIZACIÓN : el nuevo título Effective Modern C ++ ha estado a la venta desde noviembre de 2014 de O''Reilly y Amazon (y muchos otros que puede buscar en Google).

Por lo que vi en este post , decidí comenzar a leer el libro Effective C ++ .

Pero ahora que hay muchas características nuevas debido a C ++ 11 y que algunas de las buenas prácticas cambiaron, no estoy seguro de si realmente es una buena idea o no. ¿Ha desaprobado el advenimiento de C ++ 11 alguno de los consejos contenidos en C ++ efectivo? De ser así, ¿qué temas debo evitar?



Uno, el libro todavía es válido para C ++ 03.

Dos, Meyers está escribiendo o ha escrito, dependiendo de cuándo está leyendo esta oración, Efectivo C ++ 11.

Tres, hablando en general, los puntos de este libro seguirán siendo válidos. C ++ todavía favorece la velocidad sobre la seguridad, y muchos problemas en C + efectivo giran en torno a esto.

El único tipo de punto que esperaría que no sea válido son los que dicen "No hagas esto, haz esto en cambio". "No hagas esto" seguirá siendo válido. Pero C ++ habrá resuelto algunos problemas. En particular, es probable que las recomendaciones para usar boost estén en desuso, ya que C ++ 11 ha incluido muchas de las características que Meyers específicamente refiere al lector a Boost for.