C语言和C++运算符保留字笔记

C替代标记

简述

C替代标记指一批C语言常见运算符的可选拼写。它们实现为C标准库中iso646.h头文件内的一组宏定义。此标记作为C90标准的修正案于1995年增补。

替代标记允许程序员使用C语言按位和逻辑运算符,原因是原先的标记在一些国际和非QWERTY键盘上很难输入。

个人而言使用这些替代标记让我在 python 和 C++ 的切换中更加顺畅

C语言

iso646.h中定义了11个宏:

定义为
and &&
and_eq &=
bitand &
bitor |
compl ~
not !
not_eq !=
or ||
or_eq |=
xor ^
xor_eq ^=

在C语言中只需要包含头文件,即可使用这些关键字。

示例程序:

1
2
3
4
5
6
7
8
#include <stdio.h>
#include <iso646.h>
int main()
{
int a = (10086) and (1024);
printf("%d\n", a);
return a;
}

C++

在C++中,以上都为运算符关键字,无需包含头文件便可编译。

为了兼容C语言,C++98标准提供了头文件<ciso646>,但实际上这是个空文件。

实例程序:

1
2
3
4
5
6
7
#include <iostream>
int main()
{
int a = (10086) and (1024);
std::cout << a << std::endl;
return a;
}