#ifndef和#ifdef是C++中的預處理指令,用于控制條件編譯。
#ifndef表示如果指定的標識符未被定義,則執行后面的代碼。語法如下:
#ifndef 標識符
// 代碼塊
#endif
#ifdef表示如果指定的標識符已被定義,則執行后面的代碼。語法如下:
#ifdef 標識符
// 代碼塊
#endif
因此,兩者的區別在于條件的判斷方式不同:ifndef是判斷標識符是否未定義,而ifdef是判斷標識符是否已定義。在實際應用中,可以根據具體需要選擇使用哪種方式來控制條件編譯。