4

重複の可能性:
マクロとプリプロセッサの違い

C++ のマクロ ディレクティブとプリプロセッサ ディレクティブについて質問があります。それらの違いは何ですか? それらは多かれ少なかれ同じように見えますか?ネットで調べてみたのですが、よくわかりません、どなたか教えていただけないでしょうか?

4

2 に答える 2

10

#プリプロセッサ ディレクティブは、など#ifで始まる言語機能のいずれか#pragmaです#include。それらは、適切なコンパイラが作動する前に、プリプロセッサによって別の段階として完全に処理されます。

マクロは#define;によって定義されるものです。これは、特定の種類のプリプロセッサ ディレクティブにすぎません。

于 2013-01-06T18:37:59.480 に答える
9

マクロは、プリプロセッサ ディレクティブのサブセットです。

#define X

これはマクロプリプロセッサ ディレクティブです。

#pragma once

これは単なるプリプロセッサ ディレクティブです。

#defineマクロは、前処理時に展開される要素で始まり、定義します。

于 2013-01-06T18:37:55.603 に答える