Palavras-chave (C++)

Palavras-chave são identificadores reservados pré-definidos que têm significados especiais. Eles não podem ser usados como identificadores em seu programa. As palavras-chave a seguir são reservadas para o Microsoft C++. Nomes com sublinhados e nomes principais especificados para C++/CX e C++/CLI são extensões da Microsoft.

Palavras-chave padrão do C++

constinitc
continue
co_awaitc
co_returnc
co_yieldc
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
exportc
extern
false
float
for
friend
goto
if
inline

uma palavra-chave específica __asm da Microsoft substitui a sintaxe C++ asm . asm é reservado para compatibilidade com outras implementações do C++, mas não é implementado. Use __asm para assembly embutido em destinos x86. O Microsoft C++ não dá suporte ao assembly embutido para outros destinos.

b Os sinônimos de operador estendido são palavras-chave quando /permissive- ou /Za (Desabilitar extensões de idioma) é especificado. Elas não são palavras-chave quando as extensões da Microsoft estão habilitadas.

c Com suporte quando /std:c++20 ou posterior (como /std:c++latest) é especificado.

Palavras-chave C++ específicas da Microsoft

No C++, os identificadores que contêm dois sublinhados consecutivos são reservados para implementações do compilador. 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 identificador.

As extensões da Microsoft são ativadas por padrão. Para garantir que seus programas sejam totalmente portáteis, você pode desabilitar as extensões da Microsoft especificando a opção /permissive- ou /Za (Desabilitar extensões de idioma) durante a compilação. Essas opções desabilitam algumas palavras-chave específicas da Microsoft.

Quando as extensões do Microsoft são ativadas, você pode usar as palavras-chave específicas da Microsoft em seus programas. Para conformidade com ANSI, essas palavras-chave são precedidas por um sublinhado duplo. Para compatibilidade com versões anteriores, há suporte para versões de sublinhado único de muitas das palavras-chave com sublinhado duplo. A __cdecl palavra-chave está disponível sem nenhum sublinhado à esquerda.

A __asm palavra-chave substitui a sintaxe C++ asm . 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.

d Função intrínseca usada no tratamento de eventos.

e Para compatibilidade com versões anteriores, essas palavras-chave estão disponíveis com dois sublinhados principais e um único sublinhado à esquerda quando as extensões da Microsoft estão habilitadas (o padrão).

Palavras-chave da Microsoft em modificadores de __declspec

Esses identificadores são atributos estendidos para o __declspec modificador. Elas são consideradas palavras-chave dentro desse contexto.

Palavras-chave C++/CLI e C++/CX

__abstractF
__boxF
__delegateF
__gcF
__identifier
__nogcF
__noop
__pinF
__propertyF
__sealedF

f Aplicável somente a Managed Extensions for C++. Essa sintaxe foi preterida. Para obter mais informações, consulte Extensões de componentes para plataformas de runtime.

g Aplicável a C++/CLI.

Confira também

Convenções lexicais
Operadores internos do C++, precedência e associatividade