欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

在C++中自定義宏的簡(jiǎn)單方法

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊: 次

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

 

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

    這樣的“函數(shù)”與真正意義上的函數(shù)有本質(zhì)的區(qū)別,因?yàn)楹晔且粋€(gè)編譯前行為,僅僅是編譯前對(duì)文本進(jìn)行替換。在Python源碼中,經(jīng)??梢钥吹较旅骖愃频暮甓x:

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

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

    使用宏時(shí),有幾點(diǎn)要特別注意:

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

 #define foo(x) (x << 2) #define boo (x) (x << 2) //注意括號(hào)前面的空格 

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

復(fù)制代碼 代碼如下:
#define INT int * INT p1, p2; // p1是指針,p2是一個(gè)int變量 typedef int * INT; INT p1, p2; // p1, p2都為指針 //--------------------------------------------------- #define LONG long unsigned LONG v1; // v1是一個(gè)無(wú)符號(hào)的long變量 typedef long LONG; unsigned LONG v1; // 錯(cuò)誤哦~~~ 
 

上一篇:C++將CBitmap類中的圖像保存到文件的方法

欄    目:C語(yǔ)言

下一篇:C語(yǔ)言實(shí)現(xiàn)BMP轉(zhuǎn)換JPG的方法

本文標(biāo)題:在C++中自定義宏的簡(jiǎn)單方法

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2963.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有