ETH官方钱包

前往
大廳
主題

C/C++中的替代字元

極光 | 2021-10-08 03:03:44 | 巴幣 2002 | 人氣 257

        C/C++的source code可以用ISO 646]而不是ASCII編寫,但有些C/C++的字元不在ISO 646裡,像是{, }, [, ], #, \, ^, |, ~等等,因此C/C++使用一些macro來代替這些無法使用的字元。
        不過還是建議使用!, &, |等ASCII字元,而不是用這些macro。

      以下macro在 gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 環境測試過可以使用

Operator

      在C中,需要#include <iso646.h>以使用這些macro。C++則是直接作為保留字可以直接使用,不過還是保留這個header並改名成<ciso646>,不過裡面是空的,所以include這個沒什麼作用

macro

operator

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

Punctuator

        在C或C++都可以直接使用。

macro

punctuator

{ <%
} %>
[ <:
] :>
# %:
## %:%:

參考資料

後記

        會打這篇是因為看到有大一新生上計概課的時候是用"not a"而不是"!a",雖然不知道他是真的知道可以這樣用還是賽到的,過我還是好奇查了一下。如果我這篇的內容有錯或是有問題,可以在底下留言區討論。至於之後會不會有這種文章就再看看囉XD 有機會一定

創作回應

由紀
助教佬C++教嗎
2021-11-09 09:58:10
極光
你也佬.. 不用教吧[e11]
2021-11-09 12:17:32

相關創作

更多創作