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++
alignas
alignof
and
b
and_eq
b
asm
a
auto
bitand
b
bitor
b
bool
break
case
catch
char
char8_t
c
char16_t
char32_t
class
compl
b
concept
c
const
const_cast
consteval
c
constexpr
constinit
c
continue
co_await
c
co_return
c
co_yield
c
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
export
c
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.
__alignof
e
__asm
e
__assume
e
__based
e
__cdecl
e
__declspec
e
__event
__except
e
__fastcall
e
__finally
e
__forceinline
e
__hook
d
__if_exists
__if_not_exists
__inline
e
__int16
e
__int32
e
__int64
e
__int8
e
__interface
__leave
e
__m128
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
__abstract
f
__box
f
__delegate
f
__gc
f
__identifier
__nogc
f
__noop
__pin
f
__property
f
__sealed
f
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++
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de