# 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 特定