C++ #if 1

來源:互聯網
上載者:User

標籤:

當注釋掉大塊代碼時,使用"#if 0"比使用"/**/"要好,因為用"/**/"做大段的注釋要防止被注釋掉的代碼中有嵌套的"/**/",這會導致注釋掉的代碼地區不是你想要的範圍, 當被注釋掉的代碼很大時容易出現這種情況,特別是過一段時間後又修改該處代碼時更是如此。       在這裡順便對條件編譯(#ifdef, #else, #endif, #if等)進行說明。以下分3種情況:  1. 情況1:   #ifdef _XXXX  ...程式段1...  #else  ...程式段2...  #endif  這表明如果標識符_XXXX已被#define命令定義過則對程式段1進行編譯;否則對程式段2進行編譯。  例:   #define NUM  .............  .............  .............  #ifdef NUM   printf("之前NUM有過定義啦!:) \n");  #else   printf("之前NUM沒有過定義!:( \n");  #endif  }  如果程式開頭有#define NUM這行,即NUM有定義,碰到下面#ifdef NUM的時候,當然執行第一個printf。否則第二個printf將被執行。  我認為,用這種,可以很方便的開啟/關閉整個程式的某項特定功能。  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。如果有#if需要頂格寫

 

C++ #if 1

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.