1. 程式人生 > >#if 0 /#if 1用法介紹(遮蔽程式碼塊)

#if 0 /#if 1用法介紹(遮蔽程式碼塊)

當遮蔽掉大塊程式碼時,使用"#if 0"比使用"/**/"要好,因為用"/**/"做大段的註釋要防止被註釋掉的程式碼中有巢狀的"/**/",這會導致註釋掉的程式碼區域不是你想要的範圍,當被註釋掉的程式碼很大時容易出現這種情況,特別是過一段時間後又修改該處程式碼時更是如此。


一、1. 情況1:
  #ifdef _XXXX
      ...程式段1...
  #else
      ...程式段2...
  #endif
  這表明如果識別符號_XXXX已被#define命令定義過則對程式段1進行編譯;否則對程式段2進行編譯。

  2:情況2:
  #ifndef _XXXX
      ...程式段1...
  #else
      ...程式段2...
  #endif
  這裡使用了#ifndef,表示的是if not def。當然是和#ifdef相反的狀況(如果沒有定義了識別符號_XXXX,那麼執行程式段1,否則執行程式段2)。

  3:情況3:
  #if 常量
      ...程式段1...
      #else
      ...程式段2...
  #endif

這裡表示,如果常量為真(非0,隨便什麼數字,只要不是0),就執行程式段1,否則執行程式段2。

二、 巢狀情況

     1、情況1

      #if 常量a

      ...程式段1...
      #else


            #if 常量b
            ...程式段2...
            #else
           ...程式段3...
       #endif

  #endif
這裡表示,如果常量a為真(非0,隨便什麼數字,只要不是0),就執行程式段1。當常量a為0,常量b為真時,執行程式段2;

當常量a為0,常量b為0時,執行程式段3;
--------------------- 
作者:望那伊人 
來源:CSDN 
原文:https://blog.csdn.net/u012611644/article/details/79349367 
版權宣告:本文為博主原創文章,轉載請附上博文連結!