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

posts - 16,  comments - 34,  trackbacks - 0

一、 介紹預定義宏"__cplusplus"

        一.1 __cplusplus宏在C++標準中的描述如下:

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

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


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


——這是理論上的。
現在發布的C++標準只有C++98, C++03是C++98的修訂, 內容只有很少改變。
所以在ISO C++03中, 也規定該宏的值是199711L(這是一個長整數字面值)。

——實際上, 目前不應該依賴宏的值, 因為:
1. 目前標準中規定的值只有一個——199711L, 沒有根據該值進行條件編譯的可能。

2. 目前C++編譯器并不一定按標準實現這個宏(見測試)。



二、 測試預定義宏__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;
}

代碼很簡單:
如果沒有定義__cplusplus, 那么當前源代碼被當作C源代碼處理。
如果定義了__cplusplus,那么當前源代碼被當中C++源代碼處理, 并且輸出__cplusplus宏被展開后的字符串。


示例2:

__cplusplus

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



三、 測試結果

        ——msvc8
        ——msvc9
__cplusplus按照標準被擴展為——199711L。

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


這也說明了不應該依賴__cplusplus宏的值。



相關鏈接:

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

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



Creative Commons License
作品采用知識共享署名-非商業性使用-相同方式共享 2.5 中國大陸許可協議進行許可。

轉載請注明 :
文章作者 - OwnWaterloo
發表時間 - 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) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


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

常用鏈接

留言簿(8)

隨筆檔案(16)

鏈接

搜索

  •  

積分與排名

  • 積分 - 199014
  • 排名 - 134

最新隨筆

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美三区在线| 久久电影一区| 激情综合中文娱乐网| 国产欧美三级| 国产精品自拍小视频| 国产精品一区二区三区乱码| 欧美日韩网站| 国产农村妇女精品一二区| 国产亚洲精品高潮| 亚洲国产91色在线| 亚洲一区二区久久| 蜜臀av在线播放一区二区三区| 久久女同精品一区二区| 欧美黄色aa电影| 亚洲日本免费| 日韩手机在线导航| 久久av一区| 欧美特黄一级| 亚洲第一主播视频| 久久久91精品国产一区二区三区 | 久久精品成人一区二区三区蜜臀| 午夜精品福利一区二区蜜股av| 久久久999成人| 亚洲综合日韩在线| 欧美激情一区二区在线| 欲香欲色天天天综合和网| 亚洲免费久久| 久久久久在线| 激情综合网址| 亚洲欧美网站| 亚洲人成啪啪网站| 欧美一区精品| 欧美日韩国产成人在线观看| 在线观看欧美视频| 欧美亚洲视频一区二区| 一道本一区二区| 国产精品综合不卡av| 午夜精品视频在线观看| 亚洲伊人网站| 国内久久视频| 久久久久久久久久久成人| 欧美一区二区在线观看| 国内成+人亚洲| 亚洲第一页中文字幕| 欧美激情一区二区| 亚洲一区自拍| 欧美一级片一区| 亚洲黄色成人| 中文在线不卡视频| 欧美日韩在线三区| 性亚洲最疯狂xxxx高清| 亚洲一区成人| 国产视频久久| 欧美承认网站| 国产精品你懂的在线欣赏| 欧美在线一二三| 久久精品av麻豆的观看方式| av成人免费在线| 校园春色综合网| 亚洲欧洲日本国产| 亚洲尤物在线| 99riav国产精品| 亚洲女性裸体视频| 久久成人一区二区| 一二三区精品| 女女同性精品视频| 欧美伊人影院| 国产酒店精品激情| 亚洲天堂男人| 亚洲在线观看视频| 欧美激情视频在线播放 | 国产三级欧美三级日产三级99| 久久青草久久| 国产专区欧美精品| 欧美在现视频| 美女脱光内衣内裤视频久久网站| 国产精品久久一卡二卡| 这里只有视频精品| 久久精品国内一区二区三区| 欧美极品一区二区三区| 最新国产成人在线观看| 在线免费观看视频一区| 欧美啪啪成人vr| 在线一区二区三区四区| 亚洲欧美日韩电影| 国产亚洲欧美一级| 久久久99爱| 亚洲欧洲精品一区二区三区不卡 | 国产亚洲精品久久飘花 | 欧美二区在线| 亚洲精品久久7777| 国产精品综合| 欧美va天堂在线| 午夜日本精品| 欧美精品大片| 午夜日韩在线| 亚洲国产成人不卡| 亚洲一区二区三区影院| 国产精品一区二区在线| 久久久水蜜桃| 亚洲一区二区三区四区在线观看 | 国产精品国产三级国产普通话三级 | 亚洲午夜伦理| 在线观看亚洲| 国产精品视频免费观看| 欧美不卡福利| 欧美伊久线香蕉线新在线| 亚洲欧洲美洲综合色网| 久久精品视频导航| 亚洲无线视频| 亚洲一区在线播放| 日韩性生活视频| 亚洲精品国产精品乱码不99按摩| 国产精品自在线| 国产精品激情偷乱一区二区∴| 欧美freesex8一10精品| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美一区亚洲二区| 久久精品中文字幕一区| 久久久国产精品一区二区三区| 亚洲性感激情| 欧美在线地址| 免费亚洲电影| 欧美另类综合| 亚洲黄一区二区三区| 欧美激情精品久久久久久变态| 亚洲国产日韩欧美综合久久| 亚洲激情视频在线| 亚洲丝袜av一区| 久久九九国产精品怡红院| 欧美mv日韩mv国产网站app| 欧美午夜美女看片| 亚洲福利精品| 亚洲一区二区在线视频| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲国产精品一区| 亚洲一区图片| 欧美精品色综合| 国内精品国产成人| 亚洲一区亚洲| 亚洲精品日韩在线观看| 性欧美1819性猛交| 欧美午夜在线一二页| 亚洲国产成人在线播放| 欧美一区视频在线| 欧美多人爱爱视频网站| 欧美在线免费视屏| 欧美成人69av| 亚洲国产一区二区三区在线播| 一区二区三区 在线观看视| 欧美激情一区二区三区不卡| 亚洲男人的天堂在线| 国产嫩草影院久久久久| 亚洲人成在线观看网站高清| 蜜桃伊人久久| 久久中文字幕一区| 一区二区在线视频播放| 久久久久国产成人精品亚洲午夜| 一区二区精品| 国产精品国码视频| 久久久久88色偷偷免费| 久久性天堂网| 亚洲少妇最新在线视频| 亚洲一区二区三区激情| 国模精品娜娜一二三区| 久久综合福利| 欧美大片在线观看一区| 欧美三级视频在线| 午夜日韩电影| 欧美激情aⅴ一区二区三区| 亚洲国产精品女人久久久| 亚洲久色影视| 国产亚洲精品福利| 亚洲毛片网站| 激情欧美一区二区三区| 日韩亚洲成人av在线| 国产精品亚洲美女av网站| 亚洲第一狼人社区| 国产精品自拍三区| 亚洲人人精品| 国产日本亚洲高清| 亚洲精品色婷婷福利天堂| 国产亚洲精品久| av成人福利| 中文国产成人精品| 老司机精品久久| 欧美xxxx在线观看| 国产日本欧美在线观看| 日韩午夜电影在线观看| 亚洲国产另类久久精品| 久久精品国产免费| 久久久精品免费视频| 国产日韩精品视频一区二区三区| 一本大道久久a久久精二百| 亚洲人线精品午夜| 欧美精品18+| 日韩香蕉视频| 久久精品一级爱片| 狠狠久久亚洲欧美专区| 老司机67194精品线观看|