Это список операторов в языках программирования C и C ++ . Все перечисленные операторы существуют в C++; столбец «Включено в C» указывает, присутствует ли оператор также в C. Обратите внимание, что C не поддерживает перегрузку операторов .
Если операторы &&
, ||
, и ,
( оператор запятая ) не перегружены, после оценки первого операнда существует точка последовательности .
C++ также содержит операторы преобразования типовconst_cast
, static_cast
, dynamic_cast
и reinterpret_cast
. Форматирование этих операторов означает, что их уровень приоритета не имеет значения.
Большинство операторов, доступных в C и C++, также доступны в других языках семейства C, таких как C# , D , Java , Perl и PHP , с тем же приоритетом, ассоциативностью и семантикой.
Для целей этих таблиц , a
, b
и c
представляют допустимые значения (литералы, значения из переменных или возвращаемое значение), имена объектов или lvalue, в зависимости от ситуации. R
, S
и T
обозначают любой тип(ы), а K
также тип класса или перечисляемый тип.
Все логические операторы существуют в C и C++ и могут быть перегружены в C++, хотя перегрузка логического И и логического ИЛИ не рекомендуется, потому что как перегруженные операторы они ведут себя как обычные вызовы функций, а это означает, что вычисляются оба их операнда, поэтому они теряют свое хорошо используемое и ожидаемое свойство оценки короткого замыкания . [1]