亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 8456 | 回復(fù): 10
打印 上一主題 下一主題

如下的宏定義中(void) (&_x == &_y);是怎么做到判斷類型的? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-04-05 02:17 |只看該作者 |倒序?yàn)g覽
  1. #define min(x, y) (( \
  2. const typeof(x) _x = (x); \
  3. const typeof(y) _y = (y); \
  4. (void) (&_x == &_y); \
  5. _x < _y ? _x : _y; ))
復(fù)制代碼


如題的提問 ,解釋一下啊,不勝感激!

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-04-05 11:13 |只看該作者
(void) (&_x == &_y)這句話本身都執(zhí)行程序來講完全是一句廢話,它的作用在于,本身我們無法做這樣的操作typeof(_x)==typeof(_y),所以故意判斷他們2個(gè)的地址指針是否相等,顯然是不可能相等,但是如果_x和_y的類型不一樣,其指針類型也會(huì)不一樣,2個(gè)不一樣的指針類型進(jìn)行比較操作,會(huì)拋出一個(gè)編譯警告。也就是說char *p; int *q; 然后p==q;,這個(gè)判斷因?yàn)橐粋(gè)是char*一個(gè)是int*,會(huì)在編譯時(shí)產(chǎn)生一個(gè)warning。巧妙就巧妙在這里。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2010-04-05 12:01 |只看該作者
(void) (&_x == &_y)這句話本身都執(zhí)行程序來講完全是一句廢話,它的作用在于,本身我們無法做這樣的操作typ ...
ubuntuer 發(fā)表于 2010-04-05 11:13



   謝謝了,沒想到這么多

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2010-06-05 23:39 |只看該作者
弱弱的問,為什么要再新定義 _x, _y兩個(gè)變量呢
const typeof(x) _x = (x); \
const typeof(y) _y = (y); \

而不是直接

void ( &x == &y )
x < y ? x: y

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2010-06-07 19:22 |只看該作者
x,y可能是表達(dá)式

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2010-06-08 21:52 |只看該作者
本帖最后由 magicboatrocket 于 2010-06-08 21:56 編輯

哈,正解,x,y 極有可能是表達(dá)式的情況,我怎么沒想到

小小宏,大知識(shí)

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2010-06-09 13:38 |只看該作者
{:3_195:}

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2010-06-09 22:18 |只看該作者
受教了!

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-08-25 09:41 |只看該作者
本帖最后由 日方君羊 于 2011-08-25 09:43 編輯
弱弱的問,為什么要再新定義 _x, _y兩個(gè)變量呢
const typeof(x) _x = (x); \
const typeof(y) _y = (y);  ...
magicboatrocket 發(fā)表于 2010-06-05 23:39



    如果x為i++,y為j++的話,就會(huì)在最后一句判斷的時(shí)候增加兩次!

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2012-03-16 16:13 |只看該作者
確實(shí)學(xué)習(xí)了。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP