代替トークン
C言語には特定の記号を別のトークンで代替できる機能があります。
標準では次のような記号がそれぞれのトークンの代替として利用できます。
table:標準で利用できる代替トークン
記号 意味するトークン
%: #
%:%: ##
<: [
:> ]
<% {
%> }
また、ヘッダファイルiso646.hをインクルードすることで次のような代替トークンが追加されます。
table:iso646.hで追加される代替トークン
記号 意味するトークン
and &&
and_eq &=
bitand &
or ||
or_eq |=
bitor |
not !
not_eq !=
compl ~
xor ^
xor_eq ^=
注意
絶対にこんな風にしてはならない。
code:bad_example.c
%:include<stdio.h>
%:include<iso646.h>
int main()<%
int a<::>=<%0,1,2,3,4%>;
a<:0:> xor_eq 1;
int *b = bitand a;
return a<:0:>-a<:1:>;
%>