Características de C++11 en Visual Studio 2012
Una versión preliminar de Visual Studio 2012 (la siguiente versión después de VS2010) ya está disponible .
¿Alguien sabe qué nuevas características de C++11 admite? (No estoy en condiciones de probarlo en este momento).
7 answers
Vale la pena señalar que Visual Studio 2010 ya tenía bastante soporte para C++11 temprano. Así que para resumir lo que ya está vinculado en otras respuestas, aquí está lo que es nuevo en Visual Studio 11 que no era parte de Visual Studio 2010:
- rvalue referencias a versión 2.1 de 2.0
- lambdas a versión 1.1 desde 1.0.
- decltype a versión 1.1 desde 1.0 (aún no disponible en developer preview)
- Mejorado, pero aún incomplete, Alignment
- completed strongly-typed enums
- enums declarados forward
- Diseño estándar y tipos triviales
- Atomics
- Fuerte comparar e intercambiar
- Cercas bidireccionales
- Orden de dependencia de datos
- Range-based for loop
A principios de noviembre de 2012, Microsoft anunció el compilador Visual C++ Noviembre de 2012 CTP , que añade más funcionalidad de C++11 a Visual Studio 2012:
- inicialización uniforme
- listas inicializadoras
- plantillas variádicas
- argumentos por defecto de la plantilla de función
- delegando constructores
- operadores de conversión explícitos
- cadenas raw
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-26 18:42:02
Aquí es la lista de características de la nueva versión de visual studio y aquí es la lista de lo que todos los compiladores soportan
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-14 19:29:38
Hay una lista allí. Lo que más me llama la atención son las características que todavía faltan :
- Dijeron que implementarían plantillas variádicas como prioridad y no lo hicieron.
- Todavía tendremos que declarar constructores de movimiento a mano para muchas clases, ya que no hay constructores delegantes.
- Los constructores hereditarios no están presentes, y esto realmente sería necesario para algún código
- No hay inicialización uniforme, en en particular no inicializador de las listas. Esto apesta cuando los has usado con g++.
- Todavía no hay almacenamiento local de subprocesos correcto. Así que estás atascado con
boost::thread_specific_ptr
por un tiempo.
Todas las otras características que aún faltan son principalmente cosas sin las que puedes vivir. Lo que enumero aquí es lo que me molesta todos los días cuando trabajo con VS10. Es tan irritante que no funcionaron en el compilador en absoluto.
EDITAR: También añadiré que emplace_back
(una gran característica para el contenedores de biblioteca estándar) no se implementa correctamente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-06 18:35:44
Durante GoingNative en febrero de 2012, STL anunció que range-for estará en VS11 a partir de la beta, que se espera el 29 de febrero. Hay disponible una grabación de la charla. "La Revelación" está en la marca de una hora y 38 minutos.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-20 17:45:42
Ahora hay una lista definitiva de características de C++11 en VS2010 y VS2012 en MSDN .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-05 20:55:11
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-14 19:29:35
Prueba este video de Herb Sutter. ¡Este tipo no necesita presentación!!!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-11 13:03:01