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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4790 | 回復: 9
打印 上一主題 下一主題

有沒有#end define這樣類似的功能? [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-01-08 11:02 |只看該作者 |倒序瀏覽
我的想法是這樣的:

全面封裝一個函數(shù),要求是也有作用域,保證不和外面的相互沖突,例如:

#define SECONDS_OF_ONE_DAY 123456      --> 全局宏/和下面的重名


void MyDate()
{
     #define SECONDS_OF_ONE_DAY    86400  --> 局部宏變量定義開始
     ...
     ... 在函數(shù)內(nèi)使用自己定義的宏,離開這個函數(shù),這個宏就不存在了
     ...
     #end define                                                --> 局部宏變量定義結(jié)束
}


int main()
{
    int seconds = SECONDS_OF_ONE_DAY ;

    printf("%d\n", seconds) ; // 這里應該打印出:123456
}

不知道有沒有這樣的語法?

[ 本帖最后由 anank 于 2009-1-8 11:04 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2009-01-08 11:07 |只看該作者
#undef

評分

參與人數(shù) 1可用積分 +3 收起 理由
samon_fu + 3 我很贊同。群眾要求給+1分,沒辦法, ...

查看全部評分

論壇徽章:
0
3 [報告]
發(fā)表于 2009-01-08 11:25 |只看該作者
既然是函數(shù)內(nèi)部,那不用宏也罷,只要遵循接口定義,里面愛怎么實現(xiàn)怎么實現(xiàn)

論壇徽章:
0
4 [報告]
發(fā)表于 2009-01-08 11:31 |只看該作者

回復 #1 anank 的帖子

用const int SECONDS_OF_ONE_DAY=123456;不就可以達到你要的效果么

論壇徽章:
0
5 [報告]
發(fā)表于 2009-01-08 11:35 |只看該作者
原帖由 太平紳士 于 2009-1-8 11:07 發(fā)表
#undef


正解

論壇徽章:
0
6 [報告]
發(fā)表于 2009-01-08 11:49 |只看該作者
哎,說了一大串,原來就是這個簡單的東西,呵呵

記得在學校時學過,忘記了

論壇徽章:
0
7 [報告]
發(fā)表于 2009-01-08 12:12 |只看該作者
保證不和外面的相互沖突


那你還得先試試 #ifdef 或者 #if (defined
要不然還可能沖突
宏的作用域?宏的作用域就是預處理器。

論壇徽章:
0
8 [報告]
發(fā)表于 2009-01-08 16:16 |只看該作者
原帖由 eveson 于 2009-1-8 11:35 發(fā)表


正解


+1

(2樓正解)

論壇徽章:
0
9 [報告]
發(fā)表于 2009-01-08 16:28 |只看該作者
原帖由 langue 于 2009-1-8 12:12 發(fā)表


那你還得先試試 #ifdef 或者 #if (defined
要不然還可能沖突
宏的作用域?宏的作用域就是預處理器。

或者說宏沒有作用域的概念

論壇徽章:
0
10 [報告]
發(fā)表于 2009-01-08 18:18 |只看該作者

回復 #1 anank 的帖子

做#undef前最好還是做個
#ifdef 判斷才穩(wěn)妥。

不過如果只是為了局限在一個函數(shù)內(nèi)部來用,就直接用個局部變量就省事省心了。沒必要折騰宏。

宏在預處理階段就都替換好了,如果一定要談作用域,我覺得那個c文件包含了對應的頭文件(宏定義存在的),那就在那個c文件中起作用。

已經(jīng)按照民意給2樓加分了
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP