和 #ifdef #ifndef 預處理器指示詞與運算符搭配使用defined時,效果與指示詞的效果相同#if。
語法
#ifdefidentifier
#ifndefidentifier
這些指示詞相當於:
#if definedidentifier
#if !definedidentifier
備註
您可以在任何位置#if使用 #ifdef 和 #ifndef 指示詞。 #ifdef identifier語句相當於#if 1已定義時的 identifier 。 它相當於#if 0未定義 或指示詞未定義#undef時的 identifier 。 這些指示詞只會檢查 #define 所定義的識別項是否存在,不適用於 C 或 C++ 原始程式碼中宣告的識別項。
提供這些指示詞的目的只是為了保留與舊版語言的相容性。 defined( identifier)慣用搭配 指示詞使用的#if常數表達式。
指示 #ifndef 詞會檢查 所檢查 #ifdef之條件的相反。 如果尚未定義標識碼,或已使用 #undef移除其定義,則條件為 true (非零)。 否則,條件為 false (0)。
Microsoft 特定的
您可以使用 /D 選項,從命令行傳遞識別碼。 最多可以使用 指定 /D30個巨集。
指示 #ifdef 詞可用於檢查定義是否存在,因為定義可以從命令行傳遞。 例如:
// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif
END Microsoft 特定的