激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - 在C++中自定義宏的簡單方法

在C++中自定義宏的簡單方法

2021-03-02 15:09C++教程網 C/C++

這篇文章主要介紹了在C++中自定義宏的簡單方法,作者建議使用類似定義函數一樣的方法來定義宏,需要的朋友可以參考下

可以使用宏定義沒有返回值的“函數”。例如:

 

復制代碼 代碼如下:
#define PrintMax(a, b) \   do \   { \     int x = a, y = b; \     printf("Max: %d\n", x > y ? x : y);\   } while (0) // ... PrintMax(3, 4);

 

 

    這樣的“函數”與真正意義上的函數有本質的區別,因為宏是一個編譯前行為,僅僅是編譯前對文本進行替換。在Python源碼中,經常可以看到下面類似的宏定義:

?
1
#define foo(x) \ do { \  ... \ } while (0)

    為什么要使用do { ... } while (0)這樣的語法而不直接使用 { } 呢?定義了上面這個宏,我們就可以在代碼中使用類似這樣的代碼:foo(3); 注意結尾的分號,它看起來很像一個函數,實現上它表示一條語句。如果使用 { } 來代替 do { ... }  while (0),那么使用分號顯然是個語法錯誤。

    使用宏時,有幾點要特別注意:

    要特別留心空格。下面的兩個宏是一樣的:

?
1
#define foo(x) (x << 2) #define boo (x) (x << 2) //注意括號前面的空格

    用宏給類型取別名與typedef有很大的區別。例如:

 

復制代碼 代碼如下:
#define INT int * INT p1, p2; // p1是指針,p2是一個int變量 typedef int * INT; INT p1, p2; // p1, p2都為指針 //--------------------------------------------------- #define LONG long unsigned LONG v1; // v1是一個無符號的long變量 typedef long LONG; unsigned LONG v1; // 錯誤哦~~~ 

 

延伸 · 閱讀

精彩推薦
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
主站蜘蛛池模板: 日本在线免费观看 | 亚洲综合色视频在线观看 | 国产成人精品一区二区三区电影 | 最新毛片在线观看 | 91精品片 | 日本aaa一级片 | 久久9久久 | 天堂成人国产精品一区 | 亚洲成人中文字幕在线 | 操碰97| 97久久曰曰久久久 | 操毛片 | 色毛片| 91福利社在线 | 黄色免费网站在线观看 | 国产午夜网 | 亚洲第一成人在线视频 | 国产一区日韩一区 | 亚洲精品欧美二区三区中文字幕 | 涩涩99| 免费观看一区 | 蜜桃网站免费 | 一区二区三区毛片 | 国产亚洲精彩视频 | 国产91九色 | 黄色av网站免费 | 空姐毛片| 午夜久久视频 | 亚洲综合网站 | 成年人毛片视频 | 黄色大片网站在线观看 | 亚洲码无人客一区二区三区 | 正在播放91 | 国产噜噜噜噜久久久久久久久 | 中国大陆一级毛片 | 色视频在线播放 | 国产成人精品区一区二区不卡 | 亚洲第一色婷婷 | 免费欧美精品 | 黄色片网站在线免费观看 | 久久影院免费观看 |