Przestrzenie nazw
Warianty
Działania

Słowa kluczowe w C++

Z cppreference.com
< cpp
 
 
Język C++
Ogólne
Słowa kluczowe
Sekwencje kontrolne
Kontrola sterowania
Instrukcje wykonania warunkowego
Pętle
Instrukcje skoku
Funkcje
Deklaracja funkcji
Deklaracja funkcji lambda
Znacznik inline
Specyfikacja wyjątków (przestarzałe)
Znacznik noexcept (C++11)
Wyjątki
Przestrzenie nazw
Typy
Znaczniki
decltype (C++11)
auto (C++11)
alignas (C++11)
Znaczniki sposobu przechowywania
Inicjalizacja
Wyrażenia
Alternatywne reprezentacje
Literały
Boolowskie - Całkowite - Zmiennoprzecinkowe
Znakowe - String - nullptr (C++11)
Definiowane przez użytkownika (C++11)
Narzędzia
Atrybuty (C++11)
Types
Deklaracja typedef
Deklaracja alasu typu (C++11)
Casts
Konwersja niejawna - Konwersja jawna
static_cast - dynamic_cast
const_cast - reinterpret_cast
Alokacja pamięci
Klasy
Własności funkcji składowych
Specjalne funkcje składowe
Szablony
Różne
 
 

Oto lista zarezerwowanych słów kluczowych języka C++. Ze względu na to, że są one używane przez język, nie można ich zdefiniować ponownie ani n przeładować.

alignas (od C++11)
alignof (od C++11)
and
and_eq
asm
atomic_cancel (PT TS)
atomic_commit (PT TS)
atomic_noexcept (PT TS)
auto(1)
bitand
bitor
bool
break
case
catch
char
char8_t (od C++20)
char16_t (od C++11)
char32_t (od C++11)
class(1)
compl
concept (od C++20)
const
consteval (od C++20)
constexpr (od C++11)
const_cast
continue
co_await (ST współprog.)
co_return (ST współprog.)
co_yield (ST współprog.)
decltype (od C++11)
default(1)

delete(1)
do
double
dynamic_cast
else
enum
explicit
export(1)
extern(1)
false
float
for
friend
goto
if
import (ST modułów)
inline(1)
int
long
module (ST modułów)
mutable(1)
namespace
new
noexcept (od C++11)
not
not_eq
nullptr (od C++11)
operator
or
or_eq
private
protected
public

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

  • (1) - znaczenie zostało zmienione, lub dodano nowe znaczenie w C++11. Uwaga: słowo kluczowe export jest także używane przez Moduły (ST).
  • (2) - zmienione znaczenie w C++17.

Zauważ, że and, bitor, or, xor, compl, bitand, and_eq, or_eq, xor_eq, not, oraz not_eq (wraz z <%, %>, <:, :>, %:, i %:%:) dostarczają alternatywnego sposobu zapisu standardowych tokenów.

Oprócz słów kluczowych, istnieją także identyfikatory że specjalnym znaczeniem, które mogą być użyte w nazwach obiektów lub funkcji, ale mają ściśle określone znaczenie jeśli użyjemy ich w pewnym kontekście.

override (C++11)
final (C++11)
audit (C++20)
axiom (C++20)
transaction_safe (PT TS)
transaction_safe_dynamic (PT TS)

Dodatkowo, każdy identyfikator, który zawiera podwójny znak podkreślenia(underscore) __ w dowolnej pozycji oraz każdy identyfikator, którego nazwa zaczyna się wielką literą poprzedzoną podkreśleniem są zawsze zarezerwowane. Każdy identyfikator, który zaczyna się podkreśleniem jest zarezerwowany dla nazw w globalnej przestrzeni nazw(namespace). Zobacz identyfikatory dla większej ilości szczegółów.

Przestrzeń nazw std jest używana, by umieszczać w niej nazwy elementów biblioteki standardowej C++. Zobacz Rozszerzanie przestrzeni nazw std dla zasad nazewnictwa dodawanych elementów.

Nazwa posix jest zarezerwowana dla przyszłej, wysoko-poziomowej przestrzeni nazw. Zachowanie jest niezdefiniowane, jeśli program definiuje elementy w tej przestrzeni nazw. (od C++11)

Następujące klucze są rozpoznawane przez preprocesor jeśli są użyte w kontekście dyrektywy preprocesora:

if
elif
else
endif

ifdef
ifndef
define
undef

include
line
error
pragma

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

Następujące klucze są rozpoznawane, przez preprocesor, poza kontekstem dyrektywy:

_Pragma(od C++11)

[edytuj] Zobacz także

C documentation for słowa kluczowe C