Las últimas revisiones de este lenguaje fueron en 1998 (C++98) y en 2003 (C++03). Ahora se ha presentado el nuevo borrador para lo que será la siguiente revisión C++0x.
Las novedades, muy numerosas, se listan al completo en la wikipedia. Listo las que más me han llamado la atención:
- Inicialización uniforme: se trata de que las estructuras y otros datos se inicialicen de una forma única y coherente.
- Autodeterminación de tipos: se pueden declarar variables con la palabra auto de forma que el compilador elija el tipo que mejor convenga, según su uso.
- Nuevos tipos de for: se podrán especificar con la palabra for al sintaxis típica, una que tome valores de un array y los deposite en un elemento (int x : my_array) y otra, en las funciones estándares, que será tipo for_each.
- Funciones Lambda: una forma de decir que se permite la declaración de funciones anónimas (como se llamaría en Java) dentro del código de otra función.
- Concepts: es un tipo más avanzado que las Templates.
- Mejoras en la declaración de clases: se han agregado facilidades y mejoras al declarar el prototipo de las clases.
- Nuevas formas de declarar los literales: se pueden declarar texto de tipo Unicode con solo agregar una u antes de las comillas dobles.
- Modelo de memoria multitarea: una serie de optimizaciones y mejoras para el multihilo y la gestión de memoria.
- Almacenamiento local de hilos: cada hilo tiene sus propias variables.
- Tablas hash: la posiblidad de introducir arrays donde los índices, en lugar de ser números, sean textos, como parte de la librería estándar de C++.
- Expresiones Regulares: también agregado en la librería estándar de C++, la posibilidad de usar expresiones regulares sin problemas.
Y muchas más cosas. Recomiendo leer el borrador a quién realmente le interese. Microsoft parece que ya planea agregar muchas de estas características en Visual Studio, para su versión MVC++2010, y en gcc se tendrá en cuenta para futuras versiones.