ホームページ > バックエンド開発 > C++ > #define を使用した C キーワードの再定義は標準に準拠していますか?

#define を使用した C キーワードの再定義は標準に準拠していますか?

Patricia Arquette
リリース: 2024-11-21 04:03:17
オリジナル
821 人が閲覧しました

Is Redefining C   Keywords with #define Standards Compliant?

C でのプリプロセッサ定義とキーワード再定義

C プリプロセッサ ディレクティブの領域では、再定義の標準準拠に関して激しい議論が巻き起こりました。 #define を使用したキーワード。準拠したプリプロセッサはそのような行為を許可できますか?

プリプロセッサとキーワード

C 標準によれば、§17.4.3.1.1/2 は、キーワードの再定義を明示的に禁止しています。標準ライブラリヘッダーを含む翻訳単位。この制限により、標準ライブラリ コンポーネントの整合性が確保されます。

C 0x とキーワードの再定義

当初、C 0x (現在は廃止された C 11 の中間) であると考えられていました。 ) この禁止を強化して、キーワードの再定義を完全に禁止します (§17.6.3.3.1)。ただし、その後、C 0x のルールは変更されていないことが明らかになりました。この改訂は、一部の人に不注意で誤解を与えたテキストの再配置から生じたものと考えられます。

標準への準拠とキーワードの再定義

現在の標準を考慮すると、キーワードを再定義する C プログラムは使用できません。規格に準拠しているとみなされます。このようなプログラムは、キーワードの再定義に対する制限に違反することにより、言語とその組み込みセマンティクスの完全性を侵害します。

以上が#define を使用した C キーワードの再定義は標準に準拠していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート