重複の可能性:
マクロとプリプロセッサの違い
C++ のマクロ ディレクティブとプリプロセッサ ディレクティブについて質問があります。それらの違いは何ですか? それらは多かれ少なかれ同じように見えますか?ネットで調べてみたのですが、よくわかりません、どなたか教えていただけないでしょうか?
重複の可能性:
マクロとプリプロセッサの違い
C++ のマクロ ディレクティブとプリプロセッサ ディレクティブについて質問があります。それらの違いは何ですか? それらは多かれ少なかれ同じように見えますか?ネットで調べてみたのですが、よくわかりません、どなたか教えていただけないでしょうか?
#
プリプロセッサ ディレクティブは、など#if
で始まる言語機能のいずれか#pragma
です#include
。それらは、適切なコンパイラが作動する前に、プリプロセッサによって別の段階として完全に処理されます。
マクロは#define
;によって定義されるものです。これは、特定の種類のプリプロセッサ ディレクティブにすぎません。
マクロは、プリプロセッサ ディレクティブのサブセットです。
#define X
これはマクロとプリプロセッサ ディレクティブです。
#pragma once
これは単なるプリプロセッサ ディレクティブです。
#define
マクロは、前処理時に展開される要素で始まり、定義します。