Стандартная библиотека C (libc) |
---|
Общие темы |
Разные заголовки |
|
Альтернативные токены C относятся к набору альтернативных написаний общих операторов в языке программирования C. Они реализованы как группа макроконстант в стандартной библиотеке C в iso646.h
заголовке. Токены были созданы Бьярне Страуструпом для языка C++ до стандарта [1] и были добавлены в стандарт C в поправке 1995 года к стандарту C90 через библиотеку, чтобы избежать поломки существующего кода.
Альтернативные токены позволяют программистам использовать побитовые и логические операторы языка C , которые в противном случае было бы трудно набирать на некоторых международных и не- QWERTY -клавиатурах. Имя заголовочного файла, в котором они реализованы, относится к стандарту ISO/IEC 646 , 7-битному набору символов с рядом региональных вариаций, некоторые из которых имеют акцентированные символы вместо знаков препинания, используемых операторами C.
Заголовок iso646.h
определяет следующие 11 макросов, как указано ниже: [2]
Макро | Определяется как |
---|---|
and | && |
and_eq | &= |
bitand | & |
bitor | | |
compl | ~ |
not | ! |
not_eq | != |
or | || |
or_eq | |= |
xor | ^ |
xor_eq | ^= |
Вышеупомянутые идентификаторы являются ключевыми словами операторов в языке программирования ISO C++ и не требуют включения заголовочного файла. [3] Для согласованности стандарт C++98 предоставил <iso646.h>
и соответствующий <ciso646>
. Однако оба они не имели никакого эффекта, будучи пустыми. [4] [5] Некоторые компиляторы, такие как Microsoft Visual C++ , по крайней мере в прошлом, требовали включения заголовка для использования этих идентификаторов, если не установлен флаг компилятора. [6] [7] Заголовок <ciso646>
был объявлен устаревшим в C++17 и удален в C++20 , [8] тогда как <iso646.h>
был сохранен для совместимости с C. [9]