C の代替トークンとは、 C プログラミング言語における一般的な演算子の代替表記のセットを指します。これらは、ヘッダー内のC 標準ライブラリのマクロ定数のグループとして実装されています<iso646.h>。これらのトークンは、Bjarne Stroustrup によって標準以前の C++ 言語用に作成され[ 1 ] 、既存のコードの破損を避けるために、1995 年のC90標準の修正でライブラリを介して C 標準に追加されました。
代替トークンを使用することで、プログラマーは、一部の国際キーボードやQWERTY配列以外のキーボードでは入力が難しいC言語のビット演算子や論理演算子を使用できるようになります。これらのトークンが実装されているヘッダーファイルの名前は、ISO/IEC 646規格に由来しています。ISO/IEC 646は、7ビットの文字セットで、地域によっていくつかのバリエーションがあり、C言語の演算子で使用される句読点の代わりにアクセント付き文字が使用されているものもあります。
ヘッダー<iso646.h>では、以下に示す 11 個のマクロが定義されています。[ 2 ]
上記の識別子は、ISO C++ プログラミング言語の演算子キーワードであり、ヘッダー ファイルのインクルードは不要です。[ 3 ]一貫性を保つため、C++98標準では と対応する の両方が提供されました。しかし、どちらも空であるため、効果はありませんでした。[ 4 ] [ 5 ] Microsoft Visual C++などの一部のコンパイラは、少なくとも過去には、コンパイラ フラグが設定されていない限り、これらの識別子を使用するためにヘッダーを含める必要がありました。[ 6 ] [ 7 ]ヘッダーはC++17で非推奨となり、C++20で削除されましたが、[ 8 ]はC との互換性のために残されました。[ 9 ]<iso646.h><ciso646><ciso646><iso646.h>
&&