Namespaces
Variants

C++ keywords

From cppreference.net
C++ language
General topics
Flow control
Conditional execution statements
Iteration statements (loops)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications ( until C++17* )
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
Special member functions
Templates
Miscellaneous

Это список зарезервированных ключевых слов в C++. Поскольку они используются языком, эти ключевые слова недоступны для переопределения или перегрузки. В качестве исключения они не считаются зарезервированными в атрибутах (за исключением списков аргументов атрибутов). (начиная с C++11)

**Примечание:** В данном HTML-фрагменте отсутствует текст для перевода, так как: - Все ключевые слова C++ внутри тегов ` ` не подлежат переводу - HTML-теги и атрибуты сохранены без изменений - Технические обозначения версий (C++11, C++20, TM TS) также не требуют перевода - Числовые маркеры (1), (3), (4), (5) остаются без изменений **Примечание:** В данном случае весь текст, требующий перевода, находится внутри тегов ` `, которые согласно инструкциям не должны переводиться. Единственный текст вне тегов ` ` - это версионные маркеры `(C++11)` и числовые маркеры в скобках, которые также являются технической информацией и не требуют перевода. **Примечание:** В данном случае весь текст, который требовал перевода, находился внутри HTML-тегов ` `, `
` или ``, либо являлся C++ специфическими терминами, которые не подлежали переводу согласно вашим инструкциям. Поэтому исходный HTML остался полностью неизменным.
A – C D – P R – Z

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

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

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

  • (1) — значение изменено или добавлено новое значение в C++11.
  • (2) — новое значение добавлено в C++14.
  • (3) — значение изменено или добавлено новое значение в C++17.
  • (4) — значение изменено или добавлено новое значение в C++20.
  • (5) — новое значение добавлено в C++23.

Обратите внимание, что: and , bitor , or , xor , compl , bitand , and_eq , or_eq , xor_eq , not и not_eq (наряду с диграфами: < % , % > , < : , : > , % : , % : % : и триграфами: ?? < , ?? > , ?? ( , ?? ) , ?? = , ?? / , ?? ' , ?? ! , ?? - (до C++17) ) предоставляют альтернативный способ представления стандартных токенов . Эти ключевые слова также считаются зарезервированными в атрибутах (за исключением списков аргументов атрибутов), но некоторые реализации обрабатывают их так же, как и остальные. (начиная с C++11)

В дополнение к ключевым словам существуют идентификаторы со специальным значением , которые могут использоваться как имена объектов или функций, но имеют особое значение в определённых контекстах.

final (C++11)
override (C++11)
transaction_safe (TM TS)
transaction_safe_dynamic (TM TS)
import (C++20)
module (C++20)
pre (C++26)
post (C++26)
trivially_relocatable_if_eligible (C++26)
replaceable_if_eligible (C++26)

**Примечание:** В данном случае весь текст, который требовалось перевести, находится внутри тегов ` `, ` ` с версиями C++, и HTML-атрибутов. Согласно инструкциям: - Текст внутри ` ` тегов не переводится - HTML-атрибуты не переводятся - C++ специфические термины не переводятся - Версии C++ (C++11, C++20, C++26, TM TS) являются техническими обозначениями и не переводятся Поэтому исходный HTML остается без изменений.

Кроме того, все идентификаторы содержащие двойное подчёркивание __ в любой позиции, а также каждый идентификатор, начинающийся с подчёркивания за которым следует заглавная буква, всегда зарезервированы, и все идентификаторы, начинающиеся с подчёркивания, зарезервированы для использования в качестве имён в глобальном пространстве имён. Смотрите идентификаторы для более подробной информации.

Пространство имён std используется для размещения имён стандартной библиотеки C++. Смотрите Расширение пространства имён std для правил добавления имён в него.

Имя posix зарезервировано для будущего пространства имен верхнего уровня. Поведение не определено, если программа объявляет или определяет что-либо в этом пространстве имен.

(начиная с C++11)

Следующие токены распознаются препроцессором в контексте директивы препроцессора:

if
elif
else
endif

ifdef
ifndef
elifdef (C++23)
elifndef (C++23)
define
undef

include
embed (C++26)
line

error
warning (C++23)
pragma

defined
__has_include (C++17)
__has_cpp_attribute (C++20)
__has_embed (C++26)

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

**Примечание:** В данном случае весь текст внутри тегов ` ` и ` ` содержит C++ ключевые слова и директивы препроцессора, которые не подлежат переводу согласно инструкциям. Весь остальной текст на странице состоит только из версий C++ в скобках, которые также не требуют перевода.

Следующие токены распознаются препроцессором вне контекста директивы препроцессора:

_Pragma (C++11)

Перевод текста на веб-странице:

_Pragma (C++11)

**Примечание:** В данном случае переводить нечего, так как: - `_Pragma` - это C++ специфический термин (не переводится) - `(C++11)` - версия стандарта (не переводится) - Вся остальная часть состоит из HTML тегов и атрибутов, которые должны сохраняться без изменений

Смотрите также

Документация C для ключевых слов