Esta semana he asistido a un curso interesantísimo sobre el estandar C++11, es decir, sobre lo último que nos pueden ofrecer los compiladores de C++, impartido por Jacek Generowicz, del CERN y que controla bastante el tema, en el IFIC.

En palabras del propio Jacek, ésta es brevemente la guía de estilo para el nuevo estandar:

  • utilizar nullptr para punteros nulos,
  • inferencia automática de tipos mediante auto,
  • definición de rangos para los bucles,
  • utilizar funciones begin y end y no las correspondientes funciones miembro,
  • inizializaciones con {},
  • lambda funciones: facilitan los algorimos tipo STL, la inyección remota de código para metaprogramación y en la concurrencia,
  • nueva semantica move como optimización de copy y con la consiguiente implementación del move constructor, el move assignment y el swap, junto con los clásicos copy constructor, copy assignment y destructor,
  • smart pointers unique_ptr y shared_ptr que, de alguna manera, permiten cierto tipo de gestión automatica de la memoria,
  • concurrencia: threads, mutex, etc…

Ya tengo instalado el gcc 4.8, que con -std=c++11 soporta todas estas novedades, y con ganas de aplicar estos potentes mecanismos a mis códigos :–)

Anuncios