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

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, 沒有根據(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)單:
如果沒有定義__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 閱讀(25032) 評(píng)論(0)  編輯 收藏 引用

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


<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(8)

隨筆檔案(16)

鏈接

搜索

  •  

積分與排名

  • 積分 - 198759
  • 排名 - 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>
            午夜精品亚洲| 欧美精品九九99久久| 亚洲国产一区二区三区青草影视| 亚洲欧美另类中文字幕| 亚洲综合精品| 欧美伊人影院| 美女精品国产| 亚洲第一区在线观看| 亚洲电影免费在线| 一区二区三区黄色| 欧美亚洲视频在线看网址| 欧美在线视频免费| 欧美国产视频日韩| 国产精品一级久久久| 韩国精品久久久999| 亚洲国产精品第一区二区三区| 亚洲精品小视频在线观看| 午夜激情综合网| 免费在线视频一区| 亚洲系列中文字幕| 欧美成人视屏| 国产一区二区高清| 亚洲少妇自拍| 美女黄色成人网| 亚洲一区二区成人| 欧美成人黑人xx视频免费观看| 国产精品亚洲第一区在线暖暖韩国| 亚洲福利视频三区| 欧美在线观看日本一区| 亚洲精品乱码视频| 久久午夜羞羞影院免费观看| 欧美日韩1区2区| 亚洲第一页中文字幕| 欧美一区激情| aa成人免费视频| 欧美极品一区| 亚洲第一精品影视| 久久久久久91香蕉国产| 这里只有精品在线播放| 欧美国产一区二区| 亚洲丶国产丶欧美一区二区三区| 午夜精品剧场| 一本色道久久综合亚洲精品小说 | 亚洲高清一区二区三区| 亚洲欧美日韩国产一区二区| 亚洲精品免费电影| 欧美精品三级| 亚洲精品欧美| 久久精品一区二区三区不卡| 国产亚洲成av人在线观看导航| 伊人久久亚洲美女图片| 亚洲欧美另类在线| 99re热这里只有精品免费视频| 麻豆国产va免费精品高清在线| 狠狠色综合色区| 老牛影视一区二区三区| 欧美一区二区高清| 国产日韩成人精品| 久久动漫亚洲| 欧美一区二区三区免费视频| 国产精品私人影院| 午夜视频在线观看一区| 亚洲欧美另类久久久精品2019| 国产精品v欧美精品∨日韩| 中文日韩在线视频| 亚洲精品免费一二三区| 欧美国产日韩一区二区| av成人国产| 亚洲午夜电影| 含羞草久久爱69一区| 欧美成人嫩草网站| 欧美高清视频一区二区| 一本色道久久综合亚洲精品按摩| 亚洲精品一区二区在线观看| 欧美激情一区在线观看| 亚洲女同在线| 性刺激综合网| 亚洲国产一区视频| 99国产精品99久久久久久粉嫩| 国产精品日韩欧美综合| 久久综合一区二区三区| 欧美国产精品va在线观看| 亚洲一区免费网站| 先锋a资源在线看亚洲| 亚洲国产精品一区二区尤物区| 91久久中文| 国产精品亚洲综合色区韩国| 亚洲国产小视频在线观看| 午夜影院日韩| 欧美激情一区二区三区在线视频 | 亚洲国产日韩一区| 亚洲欧洲精品一区二区三区| 国产精品成人av性教育| 久久久久www| 欧美激情中文字幕在线| 性色av一区二区三区在线观看| 久久久综合香蕉尹人综合网| 一本一道久久综合狠狠老精东影业| 亚洲永久精品国产| 亚洲精品国产精品国自产观看| 亚洲免费在线视频一区 二区| 国产目拍亚洲精品99久久精品 | 亚洲人成人77777线观看| 欧美与欧洲交xxxx免费观看 | 美女任你摸久久| 亚洲欧美在线播放| 嫩草影视亚洲| 欧美一级视频| 欧美精品一区二区三区在线播放 | 亚洲国产欧美一区二区三区丁香婷| 国产精品高潮呻吟久久| 欧美激情国产高清| 国产一区二区视频在线观看| 中文日韩欧美| 亚洲精品欧美日韩专区| 久久成人免费网| 性8sex亚洲区入口| 欧美日韩亚洲一区二区| 亚洲国产精品一区二区第四页av| 国产亚洲精品久久久久动| 亚洲视频观看| 亚洲性线免费观看视频成熟| 欧美激情bt| 欧美激情中文字幕一区二区 | 欧美日韩国产系列| 欧美成人一区二区三区片免费| 国产女主播一区二区三区| 亚洲美女网站| 亚洲色图自拍| 国产精品国产三级国产aⅴ9色| 亚洲精美视频| 99精品视频免费观看视频| 欧美电影在线观看| 亚洲国产影院| 一本色道久久综合精品竹菊 | 久久综合福利| 欧美成人激情在线| 亚洲国产视频一区| 男人插女人欧美| 亚洲国产精品激情在线观看| 亚洲国产高清自拍| 欧美搞黄网站| 亚洲免费精彩视频| 亚洲永久网站| 国产日韩欧美精品综合| 亚洲人成免费| 欧美国产激情二区三区| 久久综合色88| **网站欧美大片在线观看| 久久亚洲私人国产精品va| 欧美.com| 99在线精品视频在线观看| 欧美日韩四区| 性色av一区二区怡红| 久久亚洲精选| 亚洲精品偷拍| 亚洲一级在线观看| 国产欧美一区二区精品仙草咪 | 国产综合色精品一区二区三区| 亚洲欧美日韩天堂| 久久综合狠狠综合久久综青草 | 午夜精品久久久久久久蜜桃app | 亚洲在线免费观看| 国产欧美日韩在线| 蜜桃久久av| 亚洲网址在线| 免费成人黄色| 亚洲天堂黄色| 韩国自拍一区| 欧美婷婷六月丁香综合色| 午夜精品在线看| 欧美激情第五页| 欧美在现视频| 99在线热播精品免费| 国产字幕视频一区二区| 欧美激情性爽国产精品17p| 亚洲欧美国产77777| 欧美激情片在线观看| 亚洲欧美在线一区| 亚洲人成艺术| 国产日韩欧美亚洲| 欧美日本不卡高清| 久久成人资源| 一本一本久久a久久精品综合妖精| 久久久亚洲国产天美传媒修理工 | 一区二区三区www| 好吊色欧美一区二区三区四区| 欧美日本国产一区| 久久婷婷av| 亚洲一区二区欧美| 亚洲区一区二| 欧美电影在线观看| 久久国产乱子精品免费女| 一区二区三区免费看| 影音先锋日韩有码| 国产色综合网| 国产精品免费观看视频| 欧美日韩国产精品自在自线| 麻豆成人在线播放| 美女爽到呻吟久久久久|