Explorando las características de C 11 en Visual Studio 2012
Con la anticipación creciente en torno a Visual Studio 2012, el sucesor de VS2010, los desarrolladores están ansiosos para saber qué características de C 11 trae a la mesa.
Nuevas características de C 11 en Visual Studio 2012
Si bien Visual Studio 2010 proporcionó soporte preliminar para C 11, Visual Studio 2012 lo supera al implementar características adicionales de C 11, que incluyen:
- Referencias de Rvalue mejoradas: Actualiza las referencias de rvalue a la versión 2.1.
- Lambdas avanzadas : Extiende el soporte de expresiones lambda a la versión 1.1.
- Mejoras en Decltype: Mejora decltype a la versión 1.1. (Sin embargo, aún no está disponible en la vista previa para desarrolladores).
- Alineación refinada: presenta soporte de alineación mejorado, aunque aún está incompleto.
- Completar fuertemente- Enumeraciones escritas: proporciona soporte completo para enumeraciones fuertemente tipadas.
- Enumeraciones declaradas hacia adelante: permite la declaración directa de enumeraciones.
- Diseño estándar y tipos triviales: facilita la identificación y el uso de diseños estándar y tipos triviales.
- Atomics: incluye soporte para operaciones atómicas.
- Comparación mejorada e Exchange: mejora las operaciones de comparación e intercambio.
- Vallas bidireccionales: Introduce barreras bidireccionales para la sincronización de memoria.
- Dependencia de datos Ordenamiento: permite ordenar la dependencia de datos en aplicaciones multiproceso.
- Bucle For basado en rango: proporciona azúcar sintáctico para iterar sobre contenedores.
Funcionalidad adicional de C 11 en el compilador de Visual C CTP de noviembre de 2012
La versión CTP de Microsoft de noviembre de 2012 para el compilador de Visual C amplía aún más las capacidades de C 11 en Visual Studio 2012:
- Inicialización uniforme: permite una inicialización de variables simplificada y coherente.
- Listas de inicializadores: facilita la inicialización de varios miembros con una sola expresión.
- Plantillas variables: admite plantillas que pueden aceptar un número variable de argumentos.
- Argumentos predeterminados de plantilla de función: permite especificar valores de argumento predeterminados para plantillas de función.
- Delegar constructores: Introduce la delegación de constructores para mejorar la organización del código.
- Operadores de conversión explícitos: permite a los programadores definir y controlar comportamientos de conversión explícitos.
- Cadenas sin formato: admite cadenas con exención de secuencias de escape.