以#開頭的都是預編譯指令,就是在正式編譯之前,編譯器做一些預處理的工作
#if 條件語句
程序段1 //如果條件語句成立,那麼就編譯程序段1
#endif
程序段2//如果條件不語句成立,那麼就編譯程序段2
#ifndef x//先測試x是否被宏定義過
#define 程序段1 //如果x沒有被宏定義過,那麼就編譯程序段1
#endif
程序段2 //如果x已經定義過了則編譯程序段2的語句,“忽視”程序段1。
#ifdef x //先測試x是否被宏定義過
程序段1 //如果x被宏定義過,那麼就編譯程序段1
#endif
程序段2 //如果x沒有被定義過則編譯程序段2的語句,“忽視”程序段1。
if就是判斷語句,不是預編譯指令
C++中if、#if與#ifdef、#ifndef彼此的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章