#ifdef和#ifndef預處理器指令在操作defined員使用時效果與#if指令相同。
語法
#ifdefidentifier
#ifndefidentifier
這些指令相當於:
#if definedidentifier
#if !definedidentifier
備註
你可以在任何地方#if使用#ifdef和#ifndef指令。 該 #ifdefidentifier 陳述等價 #if 1 於何時 identifier 已被定義。 這相當於 #if 0 指令 identifier 中未定義或未定義 #undef 的定義。 這些指令僅檢查以 定義的 #define識別碼是否存在,而非 C 或 C++ 原始碼中宣告的識別碼。
這些指令僅為與先前版本語言相容而提供。
defined(
)
identifier使用與指令相關的#if常數表達式是較為優先的。
指令 #ifndef 檢查條件的相反情況 #ifdef。 若識別碼尚未定義,或其定義已被移除, #undef則該條件為真(非零)。 否則,條件為假(0)。
Microsoft 專用
識別 碼 可透過 /D 指令列透過選項傳遞。 最多可指定 30 個巨集。/D
指令 #ifdef 用於檢查定義是否存在,因為定義可以從命令列傳遞。 例如:
// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif
結束 Microsoft 特定內容