◐ Shell
clean mode source ↗

Palavras chaves C++ - cppreference.com

De cppreference.com

Esta é uma lista de palavras-chave reservadas em C++. Uma vez que eles são usados ​​pela linguagem, essas palavras-chave não estão disponíveis para re-definição ou sobrecarga.

A – C D – P R – Z

alignas (desde C++11)
alignof (desde C++11)
and
and_eq
asm
atomic_cancel (TM TS)
atomic_commit (TM TS)
atomic_noexcept (TM TS)
auto (1)
bitand
bitor
bool
break
case
catch
char
char8_t (desde C++20)
char16_t (desde C++11)
char32_t (desde C++11)
class (1)
compl
concept (desde C++20)
const
consteval (desde C++20)
constexpr (desde C++11)
constinit (desde C++20)
const_cast
continue
co_await (desde C++20)
co_return (desde C++20)
co_yield (desde C++20)

decltype (desde C++11)
default (1)
delete (1)
do
double
dynamic_cast
else
enum
explicit
export (1) (3)
extern (1)
false
float
for
friend
goto
if
inline (1)
int
long
mutable (1)
namespace
new
noexcept (desde C++11)
not
not_eq
nullptr (desde C++11)
operator
or
or_eq
private
protected
public

reflexpr (reflection TS)
register (2)
reinterpret_cast
requires (desde C++20)
return
short
signed
sizeof (1)
static
static_assert (desde C++11)
static_cast
struct (1)
switch
synchronized (TM TS)
template
this
thread_local (desde C++11)
throw
true
try
typedef
typeid
typename
union
unsigned
using (1)
virtual
void
volatile
wchar_t
while
xor
xor_eq

  • (1) — significado mudado ou novo significado adicionado em C++11.
  • (2) — significado mudado em C++17.
  • (3) — significado mudado em C++20.

Note que and, bitor, or, xor, compl, bitand, and_eq, or_eq, xor_eq, not, e not_eq (junto com os dígrafos <%, %>, <:, :>, %:, e %:%:) providenciam uma maneira alternativa de representar tokens padrões.

Além de palavras-chave, existem dois identificadores com significado especial, que podem ser usados como nomes de objetos ou funções, mas têm significado especial em certos contextos.

Também, todos os identifiadores que contêm um underscore duplo __ em qualquer posição e cada identificador que começa com um underscore seguido por uma letra maiúscula é sempre reservado e e todos os nomes que começam com um underscore são reservados para uso como nomes no namespace global. Veja identificadores para mais detalhes.

O namespace std é usado para colocar nomes da biblioteca C++ standard. Veja Estendendo namespace std pata as regras sobre adicionar-lhe nomes a ele.

O nome posix é reservado para um namespace de nível de topo futuro. O comportamento é indefinido se um programa declara ou define qualquer coisa nesse namespace.

(desde C++11)

Os seguintes tokens são reconhecidos pelo preprocessador quando em contexto de uma diretiva de preprocessador:

if
elif
else
endif

ifdef
ifndef
define
undef

include
line
error
pragma

defined
__has_include (desde C++17)
__has_cpp_attribute (desde C++20)

export (C++20)
import (C++20)
module (C++20)

Os seguintes tokens são reconhecidos pelo preprocessador fora do contexto de ume diretiva de preprocessador:

Veja também