共用方式為


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

# Ifdef#ifndef 指示詞會執行相同的工作#if指示詞搭配使用時定義( 識別項 )。

#ifdef identifier
#ifndef identifier

// equivalent to
#if defined identifier
#if !defined identifier

備註

您可以使用 # ifdef#ifndef 指示詞任何一處#if可用。 # Ifdef識別項陳述式相當於 #if 1 時識別項巳經定義,而且相當於 #if 0 時識別項尚未定義或已經被未定義與#undef指示詞。  這些指示詞只檢查是否存在,或使用的識別碼如果沒有定義#define,而不是在 c 或 C++ 原始程式碼中宣告的識別項。

這些指示詞只供與舊版本的語言相容性。 定義 (識別項) 搭配使用的常數運算式#if指示詞時,偏好。  

#Ifndef 指示詞會檢查的檢查條件相反 # ifdef。 如果尚未定義識別項 (或它的定義已經移除與#undef),此條件為 true (非零)。 否則,條件為 false (0)。

Microsoft 專有的

識別項可從命令列使用 /D 選項傳遞。 最多到 30 的巨集可以使用指定 /D.

這可用來檢查是否有的定義,因為可以從命令列傳遞的定義。 例如:

// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif

結束 Microsoft 特定

請參閱

參考

前置處理器指示詞