Namespaces
Variants

Punctuation

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++. Значение каждого символа подробно описано на связанных страницах.

Содержание

Операторы препроцессора

Операторы препроцессора распознаются препроцессорами .

# (включая % : )

## (включая % : % : )

Односимвольные операторы и пунктуаторы

{ и } (включая < % и % > )

(since C++11)
(since C++20)

[ и ] (включая < : и : > )

(since C++11)
(since C++17)
(since C++26)

( и )

(начиная с C++11)
(начиная с C++11)
(начиная с C++17)
(начиная с C++20)
(начиная с C++11)
  • В объявлении static_assert разделяйте операнды.
  • Разделяйте операнд следующих спецификаторов:
(since C++20)
(since C++11)
(since C++14)
(since C++17)
  • Часть замены __VA_OPT__ в определении вариативного макроса.
(since C++20)

;

  • Укажите конец
  • объявление модуля , объявление импорта, вводная часть глобального фрагмента модуля или вводная часть приватного фрагмента модуля
  • требование
(начиная с C++20)

:

  • В операторе range-based for разделяет item-declaration и range-initializer .
  • В enum-base объявления enumeration вводит базовый тип.
(since C++11)
(since C++17)
  • В объявлении module или импорте модульной партиции вводит имя модульной партиции.
  • Часть введения private module fragment ( module : private ; ).
(since C++20)

?

.

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

~ (включая compl )

! (включая not )

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

+

-

*

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

/

%

^ (включая xor )

& (включая bitand )

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

| (включая bitor )

=

  • Захват по умолчанию в lambda capture , указывающий на захват по копии.
  • Часть определения по умолчанию ( = default ; ) или удалённого определения ( = delete ; ) в function definition .
  • В type alias declaration , разделяет псевдоним и исходный тип.
(начиная с C++11)
  • В concept definition , разделяет имя концепта и выражение ограничения.
(начиная с C++20)

<

Перевод текста на веб-странице на Русский:
Примечание: Термины C++ "template declaration" и "partial specialization" сохранены без перевода в соответствии с требованиями. HTML-теги и атрибуты остались неизменными.
(since C++20)
(начиная с C++17)
(начиная с C++20)

>

Перевод текста на веб-странице на Русский:
Примечание: Термины C++ "template declaration" и "partial specialization" сохранены без перевода в соответствии с требованиями. HTML-теги и атрибуты остались неизменными.
(since C++20)
(начиная с C++17)
(начиная с C++20)

,

(since C++11)
(since C++17)
(since C++23)
  • В объявлении static_assert разделяйте аргументы.
(since C++11)

Многозначные операторы и пунктуаторы

...

(since C++11)
(since C++26)

::

  • Оператор разрешения области видимости в
  • квалифицированное имя
  • объявление указателя на член
  • выражение new или delete для указания, что поиск выполняется только среди глобальных функций выделения или освобождения памяти
  • В атрибуте , указывать область действия атрибута.
(since C++11)
(since C++17)

. *

- >

(since C++11)
(since C++17)
(since C++20)

- > *

+ =

- =

* =

/ =

% =

^ = (включая xor_eq )

& = (включая and_eq )

| = (включая or_eq )

==

! = (включая not_eq )

<=

>=

<=>

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

&& (включая and )

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

|| (включая or )

<<

>>

<<=

>>=

++

--

Ссылки

  • Стандарт C++23 (ISO/IEC 14882:2024):
  • 5.12 Операторы и пунктуаторы [lex.operators]
  • Стандарт C++20 (ISO/IEC 14882:2020):
  • 5.12 Операторы и пунктуаторы [lex.operators]
  • Стандарт C++17 (ISO/IEC 14882:2017):
  • 5.12 Операторы и пунктуаторы [lex.operators]
  • Стандарт C++14 (ISO/IEC 14882:2014):
  • 2.13 Операторы и пунктуаторы [lex.operators]
  • Стандарт C++11 (ISO/IEC 14882:2011):
  • 2.13 Операторы и пунктуаторы [lex.operators]
  • Стандарт C++03 (ISO/IEC 14882:2003):
  • 2.12 Операторы и пунктуаторы [lex.operators]
  • Стандарт C++98 (ISO/IEC 14882:1998):
  • 2.12 Операторы и пунктуаторы [lex.operators]

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

Альтернативные представления альтернативные написания для некоторых операторов
Документация C для Пунктуация