C++中 #if 和 #ifdef 區別


以#開頭的都是預編譯指令,就是在正式編譯之前,編譯器做一些預處理的工作

#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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM