Palavras-chave C++
Palavras-chave são identificadores reservados pré-definidos que têm significados especiais. Não podem ser usados como identificadores em seu programa. As palavras-chave a seguir são reservadas para o Microsoft C++. Os nomes com sublinhados principais são extensões da Microsoft.
__box 2 |
||
__gc 2 |
||
__hook 3 |
||
__nogc 2 |
||
__pin 2 |
||
__sealed 2 |
||
__unhook 3 |
||
__value 2 |
||
naked 1 |
||
noinline 1 |
noreturn 1 |
|
nothrow 1 |
novtable 1 |
|
property 1 |
||
thread 1 |
||
uuid 1 |
||
1 Atributos estendidos para a palavra-chave __declspec.
2 Aplicável apenas para Extensões Gerenciadas para C++. Essa sintaxe foi preterida.
3 Função intrínseca usada na manipulação de eventos.
Consulte Recursos de idioma para o direcionamento do CLR para obter mais informações.
Específico da Microsoft
No Microsoft C++, os identificadores com dois sublinhados iniciais são reservados para implementações de compilador. Portanto, a convenção da Microsoft é preceder palavras-chave específicas da Microsoft com sublinhados duplos. Essas palavras não podem ser usadas como nomes de identificadores.
As extensões da Microsoft são ativadas por padrão. Para garantir que seus programas sejam totalmente portáteis, você poderá desabilitar as extensões da Microsoft especificando a opção de linha de comando /Za compatível com ANSI (compilar para compatibilidade ANSI) durante a compilação. Ao fazer isso, as palavras-chave específicas da Microsoft são desabilitadas.
Quando as extensões do Microsoft são ativadas, você pode usar as palavras-chave específicas da Microsoft em seus programas. Para estar em conformidade com o ANSI, essas palavras-chave são precedidas por um sublinhado duplo. Para compatibilidade com versões anteriores, as versões de sublinhado único de todas as palavras-chave com sublinhado duplo possuem suporte, exceto __except, __finally, __leave e __try. Além disso, __cdecl está disponível sem sublinhado inicial.
A palavra-chave __asm substitui a sintaxe asm do C++. asm é reservado para compatibilidade com outras implementações do C++, mas não é implementado. Use __asm.
A palavra-chave __based tem usos limitados para compilações de destino de 32 bits e 64 bits.