Explorando recursos C 11 no Visual Studio 2012
Com a expectativa crescente em torno do Visual Studio 2012, o sucessor do VS2010, os desenvolvedores estão ansiosos para saber quais recursos do C 11 ele traz para a mesa.
Novos recursos do C 11 no Visual Studio 2012
Embora o Visual Studio 2010 tenha fornecido suporte preliminar para C 11, o Visual Studio 2012 o supera ao implementar recursos adicionais do C 11, incluindo:
- Referências de Rvalue aprimoradas : Atualiza referências de valor para a versão 2.1.
- Avançado Lambdas: Estende o suporte à expressão lambda para a versão 1.1.
- Decltype Melhorias: Melhora o decltype para a versão 1.1. (No entanto, ainda não está disponível na visualização do desenvolvedor.)
- Alinhamento Refinado: apresenta suporte de alinhamento aprimorado, embora ainda esteja incompleto.
- Completo Fortemente- Enums digitados: Fornece suporte completo para enums fortemente digitados.
- Avançar Enums declarados: permite a declaração direta de enums.
- Layout padrão e tipos triviais: facilita a identificação e o uso de layout padrão e tipos triviais.
- Atomics: Inclui suporte para operações atômicas.
- Comparação aprimorada e Exchange: aprimora as operações de comparação e troca.
- Cercas bidirecionais: Introduz cercas bidirecionais para sincronização de memória.
- Ordenação de dependência de dados : permite ordenação de dependência de dados em aplicativos multithread.
- Baseado em intervalo para Loop: Fornece açúcar sintático para iterar em contêineres.
Funcionalidade C 11 adicional no compilador Visual C CTP de novembro de 2012
Lançamento CTP da Microsoft de novembro de 2012 para o Visual C Compiler expande ainda mais os recursos do C 11 no Visual Studio 2012:
- Inicialização uniforme: permite a inicialização de variáveis simplificada e consistente.
- Listas de inicializadores: facilita a inicialização de vários membros com um expressão única.
- Modelos Variádicos: Suporta modelos que podem aceitar um número variável de argumentos.
- Argumentos padrão do modelo de função: permite que valores de argumentos padrão sejam especificados para modelos de função.
- Delegando construtores: apresenta construtores de delegação para melhorar organização do código.
- Operadores de conversão explícita: permite que os programadores definam e controlem a conversão explícita behaviors.
- Strings brutas: Suporta strings com isenção de sequências de escape.