分享方式:


#ifdef#ifndef 指示詞 (C/C++)

#ifdef #ifndef 預處理器指示詞與運算符搭配使用defined時,效果與指示詞的效果相同#if

語法

#ifdef identifier
#ifndef identifier

這些指示詞相當於:

#if defined identifier
#if !defined identifier

備註

您可以在任何位置#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 特定的

另請參閱

預處理器指示詞