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++. Nomes com sublinhados à esquerda e nomes 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

a A palavra-chave __asm específica da Microsoft substitui a sintaxe asm do C++. 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 (Desativar extensões de idioma) é especificado. Eles 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 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 /permissive- ou /Za (Desabilitar extensões de linguagem) 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 estar em conformidade com o ANSI, essas palavras-chave são precedidas por um sublinhado duplo. Para compatibilidade com versões anteriores, há suporte para versões com sublinhado único de muitas das palavras-chave com sublinhado duplo. A palavra-chave __cdecl está disponível sem sublinhado à esquerda.

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.

d Função intrínseca usada na manipulação de eventos.

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

Palavras-chave da Microsoft em modificadores __declspec

Esses identificadores são atributos estendidos para o modificador __declspec. Eles são considerados 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 apenas 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, precedência e associatividade no C++