C++预处理指令#define,#if,#endif等
生活随笔
收集整理的這篇文章主要介紹了
C++预处理指令#define,#if,#endif等
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載自:“https://www.cnblogs.com/xiehongfeng100/p/4594849.html”,原文寫的更加詳細,還有代碼解釋,建議看原文。
本文主要記錄了C/C++預處理指令,常見的預處理指令如下:
#空指令,無任何效果
#include包含一個源代碼文件
#define定義宏
#undef取消已定義的宏
#if如果給定條件為真,則編譯下面代碼
#ifdef如果宏已經定義,則編譯下面代碼
#ifndef如果宏沒有定義,則編譯下面代碼
#elif如果前面的#if給定條件不為真,當前條件為真,則編譯下面代碼
#endif結束一個#if……#else條件編譯塊
#error停止編譯并顯示錯誤信息
(一)測試程序:
#include <iostream> using namespace std;#define DEF 0int main() { #if DEFcout << "DEF not 0" << endl; #elsecout << "DEF is 0" << endl; #endif#ifdef DEFcout << "define DEF" << endl; #elsecout << "not define DEF" << endl; #endifreturn 0; }結果如下:
DEF is 0 define DEF(二)測試程序:
#include <iostream> using namespace std; //注意下面的改動,和上面的代碼不同 #define DEF 1 int main() { #if DEFcout << "DEF not 0" << endl; #elsecout << "DEF is 0" << endl; #endif#ifdef DEFcout << "define DEF" << endl; #elsecout << "not define DEF" << endl; #endifreturn 0; }運行結果如下:
DEF not 0 define DEF(三)如果我們把這行代碼注釋掉,即變成如下的形式,其他代碼和上面代碼相同
//#define DEF 1輸出結果如下:
DEF is 0 not define DEF總結
以上是生活随笔為你收集整理的C++预处理指令#define,#if,#endif等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卷积在计算机中实现+pool作用+数据预
- 下一篇: pytorch实现常用的一些即插即用模块