Código C++ moderno

Una excelente charla de Herb Sutter (en inglés) introduciendo algunas de las novedades del nuevo estándar C++11 y sobre cómo escribir código en C++ aprovechando todo el conocimiento acumulado en estos años (si nunca leíste C++ Coding Standards de Herb Sutter y Andrei Alexandrescu, compralo):
http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T
Los puntos tratados que no podes dejar pasar por alto:
  • El nuevo significado de la palabra auto para inferir tipos automáticamente.
  • La nueva sintaxis de lambdas para definir functors en línea y usarlos en algoritmos estándares (ej: for_each()).
  • Exception safety y heap lifetime con smart pointers, los cuales ya tenemos varios posts en este mismo blog sobre el concepto de smart pointers y RAII.
  • Nuevos contenedores de tipo hash table.
  • Move semantics que evita la creación y destrucción de objetos temporales innecesarias (ej: al retornar por valor).
  • Varios pequeños nuevos coding standards de C++11: funciones begin()/end(), override explícito, idioma pimpl con unique_ptr<>, etc.
En futuros posts voy a dedicar algo de tiempo en introducir estos temas y explicar por qué nacieron cada una de estas modificaciones en el nuevo estándar de C++.

 21 September 2011 | cpp programacion cpp11