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

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 閱讀(25032) 評論(0)  編輯 收藏 引用
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(8)

隨筆檔案(16)

鏈接

搜索

  •  

積分與排名

  • 積分 - 198759
  • 排名 - 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>
            国产精品日韩在线播放| 午夜免费日韩视频| 亚洲永久免费精品| 久久久久**毛片大全| 亚洲在线观看| 亚洲欧美日韩国产成人| 午夜精品久久久久久久蜜桃app| 一本大道久久a久久综合婷婷| 亚洲免费精彩视频| 亚洲午夜日本在线观看| 亚洲午夜小视频| 久久经典综合| 亚洲二区免费| 99日韩精品| 午夜在线一区二区| 久久久久久久国产| 欧美久久视频| 国产伦精品一区二区三区照片91 | 一本色道久久综合狠狠躁的推荐| 日韩亚洲欧美在线观看| 亚洲天堂网在线观看| 欧美呦呦网站| 亚洲成人自拍视频| 亚洲性夜色噜噜噜7777| 欧美自拍偷拍| 欧美日韩成人一区| 国产丝袜一区二区| 亚洲精品影视在线观看| 欧美日韩欧美一区二区| 国产色综合久久| 亚洲人成精品久久久久| 亚洲欧美精品在线| 欧美大片在线看免费观看| 一区二区三区日韩欧美| 老鸭窝毛片一区二区三区| 国产精品久久久久久久久久尿| 欧美一级片在线播放| 久久综合九色综合欧美就去吻| 欧美激情黄色片| 国产午夜精品美女毛片视频| 99re在线精品| 免费看亚洲片| 亚洲欧美中文日韩在线| 欧美日韩另类丝袜其他| 在线不卡视频| 久久福利视频导航| 亚洲最新在线视频| 欧美激情亚洲激情| 伊人久久大香线| 欧美一区二视频| 99综合精品| 欧美激情中文字幕一区二区| 尤物九九久久国产精品的特点| 亚洲制服丝袜在线| 亚洲日本中文字幕| 免费中文日韩| 亚洲第一伊人| 免费在线观看一区二区| 欧美主播一区二区三区| 国产精品私房写真福利视频 | 国产日韩三区| 亚洲影院色在线观看免费| 亚洲第一久久影院| 久热精品视频在线观看一区| 国语自产精品视频在线看一大j8| 欧美一区二区三区播放老司机 | 亚洲欧洲一区二区三区| 久久影院午夜论| 一区免费观看视频| 久久亚洲二区| 久久青草久久| 亚洲激情成人在线| 亚洲国产va精品久久久不卡综合| 猛男gaygay欧美视频| 亚洲国产精品va| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产在线精品成人一区二区三区| 久久精品国产第一区二区三区最新章节 | 久久久久久久久久久久久9999| 黑丝一区二区三区| 欧美高清在线一区二区| 欧美国产一区二区| 亚洲一级片在线看| 亚洲免费综合| 激情伊人五月天久久综合| 免费在线播放第一区高清av| 欧美大片免费观看| 亚洲视频一区| 欧美在线看片a免费观看| 蜜臀久久99精品久久久久久9| 精品51国产黑色丝袜高跟鞋| 久久爱www.| 一本一本久久| 国产精品网站视频| 欧美激情a∨在线视频播放| 狠狠色2019综合网| 夜夜爽99久久国产综合精品女不卡| 亚洲午夜一区二区| 欧美日韩综合视频网址| 国产精品视频内| 在线精品观看| 欧美激情影音先锋| 亚洲欧美另类在线观看| 欧美日韩视频在线| 国产精品激情av在线播放| 久久精品伊人| 国产毛片精品视频| 欧美成人一区二区在线| 欧美特黄一级| 欧美激情精品久久久| 亚洲国产一区二区三区a毛片| 香蕉乱码成人久久天堂爱免费| 国内精品亚洲| 一区二区三区.www| 国产欧美日韩一区二区三区在线| 免费在线看成人av| 国产精品久久久久久妇女6080| 巨乳诱惑日韩免费av| 欧美理论视频| 久久久久久久国产| 欧美日韩免费观看一区二区三区| 久久伊伊香蕉| 国产乱理伦片在线观看夜一区| 亚洲第一精品影视| 一区三区视频| 欧美亚洲三级| 午夜精品视频在线| 欧美日韩亚洲一区二区三区在线 | 欧美第十八页| 久久性天堂网| 国产精品无码永久免费888| 亚洲欧洲午夜| 日韩一区二区福利| 欧美成人蜜桃| 欧美日韩精品免费 | 亚洲精品国产精品乱码不99按摩| 亚洲欧美综合v| 亚洲专区国产精品| 欧美美女福利视频| 91久久精品一区二区别| 亚洲国产精品传媒在线观看 | 亚洲午夜精品17c| 欧美高清视频一区二区| 欧美成人激情视频| 在线电影欧美日韩一区二区私密| 亚洲欧美制服中文字幕| 欧美在线欧美在线| 国产亚洲欧洲997久久综合| 亚洲一区二区久久| 欧美一区二区三区在线观看视频| 国产精品一二三视频| 小嫩嫩精品导航| 久久精品夜夜夜夜久久| 国产在线不卡视频| 久久免费少妇高潮久久精品99| 久久久久久综合网天天| 国内精品久久久久久影视8| 欧美一区二区三区日韩视频| 久久久在线视频| 亚洲国产精品一区制服丝袜| 模特精品裸拍一区| 99国产精品久久久久老师| 亚洲欧美日本国产有色| 国产一区av在线| 久久综合中文字幕| 91久久国产自产拍夜夜嗨| 亚洲无限av看| 国产在线观看一区| 欧美精品18+| 亚洲与欧洲av电影| 欧美1区3d| 亚洲一级网站| 国产视频精品xxxx| 牛牛国产精品| 亚洲香蕉网站| 欧美成人第一页| 午夜视频在线观看一区| 亚洲电影第1页| 欧美视频在线免费看| 欧美在线亚洲一区| 欧美96在线丨欧| 亚洲专区在线| 亚洲第一精品夜夜躁人人爽| 欧美精品一区二区在线观看| 亚洲一区激情| 亚洲国产精品一区二区三区| 久久精品一区二区三区不卡| 日韩视频永久免费观看| 国产亚洲福利社区一区| 欧美人成在线| 久久精品国产免费看久久精品| 亚洲精品国产精品乱码不99| 久久久久久999| 亚洲欧美日本国产专区一区| 亚洲人成小说网站色在线| 国产精品一区二区三区四区| 欧美国产视频日韩| 久久米奇亚洲| 国产最新精品精品你懂的| 欧美精品日韩一区|