青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 16,  comments - 34,  trackbacks - 0

一、 介紹預(yù)定義宏"__cplusplus"

        一.1 __cplusplus宏在C++標(biāo)準(zhǔn)中的描述如下:

16.8 Predefined macro names
__cplusplus The name __cplusplus is defined to the value 199711L when compiling a C++ translation unit.143)
143) It is intended that future versions of this standard will replace the value of this macro with a greater value.
Non-conforming compilers should use a value with at most five decimal digits.

                                        —— ISO C++03 p315
                                        —— ISO C++98 p309

如果一段代碼是需要針對(duì)C++編寫的, 可以使用該宏進(jìn)行條件編譯。


        一.2 __cplusplus的值是為了表示C++的版本
        一.3 __cplusplus的類型是"long int"


——這是理論上的。
現(xiàn)在發(fā)布的C++標(biāo)準(zhǔn)只有C++98, C++03是C++98的修訂, 內(nèi)容只有很少改變。
所以在ISO C++03中, 也規(guī)定該宏的值是199711L(這是一個(gè)長(zhǎng)整數(shù)字面值)。

——實(shí)際上, 目前不應(yīng)該依賴宏的值, 因?yàn)椋?br>1. 目前標(biāo)準(zhǔn)中規(guī)定的值只有一個(gè)——199711L, 沒(méi)有根據(jù)該值進(jìn)行條件編譯的可能。

2. 目前C++編譯器并不一定按標(biāo)準(zhǔn)實(shí)現(xiàn)這個(gè)宏(見測(cè)試)。



二、 測(cè)試預(yù)定義宏__cplusplus

示例1:
#include <stdio.h>

int main() {

#define TO_LITERAL(text) TO_LITERAL_(text)
#define TO_LITERAL_(text) #text
#ifndef __cplusplus
/* this translation unit is being treated as a C one */
    printf(
"a C program\n");
#else
// this translation unit is being treated as a C++ one
    printf("a C++ program\n__cplusplus expands to \""
          TO_LITERAL(__cplusplus) "\"\n");
#endif
    (
void)getchar();
    
return 0;
}

代碼很簡(jiǎn)單:
如果沒(méi)有定義__cplusplus, 那么當(dāng)前源代碼被當(dāng)作C源代碼處理。
如果定義了__cplusplus,那么當(dāng)前源代碼被當(dāng)中C++源代碼處理, 并且輸出__cplusplus宏被展開后的字符串。


示例2:

__cplusplus

這段代碼更簡(jiǎn)單了, 只是使用了__cplusplus宏。
然后查看預(yù)處理(見《查看源文件預(yù)處理結(jié)果》),看其被擴(kuò)展后的結(jié)果。



三、 測(cè)試結(jié)果

        ——msvc8
        ——msvc9
__cplusplus按照標(biāo)準(zhǔn)被擴(kuò)展為——199711L。

        ——msvc6
        ——gcc (GCC) 3.4.2 (mingw-special)
        ——gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3)
__cplusplus只是簡(jiǎn)單的被擴(kuò)展為——1。


這也說(shuō)明了不應(yīng)該依賴__cplusplus宏的值。



相關(guān)鏈接:

——源代碼
http://immature.googlecode.com/svn/trunk/iMmature/sample/predefined_macro/__cplusplus

——《查看源文件預(yù)處理結(jié)果
http://m.shnenglu.com/ownwaterloo/archive/2009/04/16/get_result_of_preprocessing.html



Creative Commons License
作品采用知識(shí)共享署名-非商業(yè)性使用-相同方式共享 2.5 中國(guó)大陸許可協(xié)議進(jìn)行許可。

轉(zhuǎn)載請(qǐng)注明 :
文章作者 - OwnWaterloo
發(fā)表時(shí)間 - 2009年04月20日
原文鏈接 - http://m.shnenglu.com/ownwaterloo/archive/2009/04/20/predefined_macro___cplusplus.html
posted on 2009-04-20 14:42 OwnWaterloo 閱讀(25051) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(8)

隨筆檔案(16)

鏈接

搜索

  •  

積分與排名

  • 積分 - 199014
  • 排名 - 134

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美久久成人| 日韩亚洲成人av在线| 国产视频欧美视频| 亚洲欧美日韩一区在线观看| 日韩一级精品视频在线观看| 欧美日韩亚洲高清一区二区| 亚洲一级二级在线| 一区二区三区高清| 国产伦一区二区三区色一情| 欧美一区二区在线免费播放| 小黄鸭精品aⅴ导航网站入口| 国产亚洲成精品久久| 美女日韩欧美| 欧美成人首页| 999亚洲国产精| 激情欧美日韩| 欧美不卡视频一区发布| 欧美第一黄网免费网站| 亚洲一区二区三区精品动漫| 亚洲精品一区二| 国产精品久久久久一区二区三区| 久久国产欧美日韩精品| 久久久精彩视频| 性欧美激情精品| 国产精品成人一区二区艾草| 欧美mv日韩mv国产网站app| 黑人操亚洲美女惩罚| 亚洲无限乱码一二三四麻| 久热精品视频| 在线观看日韩国产| 亚洲丝袜av一区| 亚洲第一网站| 亚洲影视九九影院在线观看| 激情欧美一区二区三区在线观看| 亚洲国产成人久久综合一区| 欧美日韩成人| 免费欧美网站| 欧美日韩成人综合天天影院| 亚洲永久免费精品| 久久精品电影| 欧美激情一区二区在线 | 亚洲第一网站免费视频| 亚洲韩国日本中文字幕| 国内揄拍国内精品少妇国语| 亚洲美女在线国产| 精品1区2区3区4区| 亚洲一区二区三区免费视频| 99国产麻豆精品| 久久综合伊人77777麻豆| 黄色日韩精品| 欧美一级在线视频| 日韩一级不卡| 美女久久一区| 欧美国产丝袜视频| 国产专区精品视频| 一本色道久久综合狠狠躁篇的优点| 国产精品一区二区在线| 一区二区三区**美女毛片| 91久久精品网| 久久亚洲高清| 欧美第一黄网免费网站| 国内成人在线| 午夜精品久久久久久久久久久| 91久久精品视频| 欧美裸体一区二区三区| 欧美肥婆在线| 91久久国产综合久久| 欧美大胆a视频| 91久久精品国产91久久性色tv| 亚洲电影免费| 99国产精品视频免费观看| 99热在线精品观看| 欧美日韩国产一中文字不卡| 久久久久国产精品一区三寸| 狠狠色综合网站久久久久久久| 亚洲欧美中日韩| 欧美一区观看| 亚洲二区三区四区| 欧美成人精品一区二区| 亚洲精美视频| 亚洲电影免费观看高清完整版在线观看 | 开心色5月久久精品| 久久午夜色播影院免费高清| 91久久久久久| 一本大道久久精品懂色aⅴ | 久久久久久成人| 欧美亚洲一区二区三区| 欧美 日韩 国产精品免费观看| 亚洲国产成人久久综合| 免费成人av在线| 欧美日韩在线视频一区| 黄色工厂这里只有精品| 午夜电影亚洲| 亚洲欧美日韩国产精品| 欧美黄色视屏| 先锋影音久久| 久久激情综合| 欧美日本中文字幕| 国产综合在线视频| 欧美午夜片欧美片在线观看| 亚洲第一福利社区| 99av国产精品欲麻豆| 欧美网站在线观看| 性久久久久久久久久久久| 国际精品欧美精品| 女人天堂亚洲aⅴ在线观看| 亚洲黄色成人| 久久精品国产欧美激情| 亚洲电影免费观看高清完整版在线 | 亚洲最新色图| 欧美一区二区在线播放| 国产精品成人一区二区网站软件 | 国产精品免费福利| 欧美成人69av| 久久成人18免费观看| 亚洲另类自拍| 欧美高清视频一区二区| 久久久美女艺术照精彩视频福利播放| 夜夜狂射影院欧美极品| 亚洲国产小视频在线观看| 国产亚洲综合精品| 欧美丝袜一区二区| 欧美久久视频| 另类尿喷潮videofree| 午夜在线视频观看日韩17c| 夜夜嗨av一区二区三区网页| 亚洲第一中文字幕| 午夜日本精品| 亚洲男人av电影| 一本久久知道综合久久| 日韩视频免费在线| 亚洲日韩欧美视频一区| 亚洲国产精品va| 在线播放精品| 狠狠色综合网站久久久久久久| 国产午夜精品全部视频在线播放| 国产精品久久综合| 欧美视频免费| 欧美日韩精品免费观看视频完整| 欧美寡妇偷汉性猛交| 国产精品99久久久久久久女警 | 狠狠88综合久久久久综合网| 国产伦精品一区二区三区高清| 国产精品毛片大码女人| 欧美视频中文字幕| 欧美午夜大胆人体| 国产精品久久久对白| 国产精品扒开腿做爽爽爽软件| 国产女人精品视频| 午夜精品视频在线观看| 亚洲午夜免费视频| 亚洲视频在线观看视频| 国外精品视频| 国产欧美一区二区精品仙草咪| 欧美大片一区二区| 香蕉av777xxx色综合一区| 亚洲欧美一区二区激情| 欧美中文在线观看| 另类酷文…触手系列精品集v1小说| 久久精品在线| 老司机一区二区| 亚洲国产高清aⅴ视频| 亚洲精品在线二区| 亚洲色图自拍| 小嫩嫩精品导航| 免费欧美网站| 亚洲一区三区视频在线观看| 欧美一区二区三区四区在线 | 亚洲天堂视频在线观看| 亚洲专区一区| 久久久精品五月天| 亚洲国产老妈| 日韩一区二区精品在线观看| 亚洲一区二区三区精品在线 | 久久精品中文| 亚洲国产成人av在线| 亚洲一区二区免费视频| 久久九九免费| 国产精品视频福利| 宅男精品视频| 亚洲国产高清自拍| 欧美在线观看一区二区三区| 欧美在线视频免费播放| 榴莲视频成人在线观看| 国产真实乱偷精品视频免| 亚洲视频网在线直播| 99成人在线| 欧美黄色一级视频| 欧美日韩亚洲综合在线| 老司机精品导航| 欧美日本一区| 欧美日韩亚洲一区二区三区在线观看| 午夜精品免费在线| 午夜精品电影| 久久9热精品视频| 欧美国产亚洲精品久久久8v| 免费观看在线综合| 欧美日韩一区二区三区免费看| 国产精品扒开腿做爽爽爽视频 | 亚洲欧洲免费视频|