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

C++ library系列 -- STL實現中的ODR “one-definition-rule” for types

Linking issue
- While different modules (.obj) using istreambuf_iterator/ostreambuf_iterator, compiled with different options on HID/no-HID and SCL/no-SCL, these modules could not be linked successfully;

The error comes directly from the CLR when a type has multiple definitions that are not consistent based upon the ODR, one-definition-rule for types. And, the linker itself isn't involved.

For example, with one module compile with /D_SECURE_SCL=0, while another is compiled with _SECURE_SCL=1;

At first, it's found that with _SECURE_SCL, the only thing that could be different as following,

#if _SECURE_SCL
    typedef _Range_checked_iterator_tag _Checked_iterator_category;
#endif

But, actually, it's not the typedef that changed the layout the these iterators (istreambuf_iterator/ostreambuf_iterator), and further they don't really use the extra pointer that _SECURE_SCL adds.

Finally, it's found the root cause is that, these iterators, istreambuf_iterator/ostreambuf_iterator  had been moved from <xutility> to <streambuf>, and their ultimate base class had been changed from _Iterator_base_secure to _Iterator_base. And, the layout of _Iterator_base would be different between HID and no-HID, and between SCL and no-SCL. It is the cause where the issue comes from.

What we can learn from such issue,
These iterators really shouldn't derive from either _Iterator_base_secure or _Iterator_base, because these classes contain data members (pointers) which are entirely unused. It would result in unnecessary bloat and extra work being performed in ctor/dtor etc.

Introduce a new class, _Iterator_base_universal, which is defined identically regardless of HID/no-HID and SCL/no-SCL. It would contains the three internal typedefs that all standard iterators need to have, and nothing else. And _Iterator_base (in all of its variants) and _Iterator_base_secure now should derive from _Iterator_base_universal to get these typedefs.

Now, when an iterator wants these typedefs, but not the data members of _Iterator_base and _Iterator_base_secure, it could derive from _Iterator_base_universal. And istreambuf_iterator and ostreambuf_iterator are now as small as possible, and keep identical representations or layout across HID/no-HID, SCL/no-SCL.

posted on 2010-12-19 11:09 flagman 閱讀(1919) 評論(0)  編輯 收藏 引用 所屬分類: C++

<2010年12月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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免费看影院| 激情一区二区| 亚洲国产精品久久久久| 欧美日韩第一页| 亚洲综合色婷婷| 欧美一区亚洲| 亚洲激情欧美激情| 在线亚洲自拍| 在线观看日韩欧美| 亚洲精品一区二区三区不| 国产精品jizz在线观看美国| 久久久久久9999| 欧美国产先锋| 欧美综合国产| 欧美顶级少妇做爰| 欧美一区高清| 欧美激情视频一区二区三区免费| 亚洲午夜av在线| 久久久一区二区三区| 一区二区欧美激情| 久久精品亚洲| 亚洲中午字幕| 蜜月aⅴ免费一区二区三区| 亚洲视频一区二区在线观看| 久久久国产亚洲精品| 亚洲深夜福利视频| 玖玖视频精品| 久久se精品一区二区| 欧美高清自拍一区| 久久男女视频| 国产九九精品| 亚洲人体影院| 在线视频成人| 午夜一级久久| 亚洲自拍偷拍麻豆| 欧美黄色网络| 欧美成人激情在线| 国产亚洲午夜| 亚洲一线二线三线久久久| 日韩午夜高潮| 麻豆成人在线播放| 久久久水蜜桃av免费网站| 国产精品国产三级国产专播品爱网 | 国产主播一区二区| 一本色道久久综合狠狠躁篇怎么玩| 精品成人在线视频| 性高湖久久久久久久久| 亚洲四色影视在线观看| 美女精品自拍一二三四| 久久夜色精品国产| 国产日韩av高清| 亚洲你懂的在线视频| 亚洲一区在线观看视频 | 在线亚洲精品| 一区二区激情| 欧美欧美天天天天操| 亚洲国产精品悠悠久久琪琪 | 欧美日韩国产成人在线免费| 欧美激情第六页| 136国产福利精品导航| 欧美一级专区| 久久综合九色九九| 狠狠狠色丁香婷婷综合激情| 欧美在线一级va免费观看| 久久精品欧洲| 红桃视频欧美| 久久夜色精品一区| 亚洲电影免费在线| 日韩手机在线导航| 欧美日韩在线观看一区二区三区| 99re热这里只有精品免费视频| 一区二区三区回区在观看免费视频| 欧美另类久久久品| 亚洲视频第一页| 欧美一区二区免费视频| 国内精品模特av私拍在线观看| 久久激情五月激情| 亚洲成人在线视频播放| 在线看日韩av| 欧美激情精品| 亚洲一区二区三区成人在线视频精品| 欧美一级久久久| 狠狠色丁香婷婷综合久久片| 久久亚洲午夜电影| 亚洲乱码精品一二三四区日韩在线 | 海角社区69精品视频| 免费在线成人| 一区二区电影免费观看| 久久精品色图| 99国产精品久久久| 国产乱码精品一区二区三区五月婷| 久久精品视频99| 亚洲精品一区二区三区四区高清| 午夜精品久久久久久99热| 在线观看视频一区| 欧美性猛交99久久久久99按摩| 欧美在线免费观看亚洲| 亚洲精品国产欧美| 久久裸体艺术| 中文一区字幕| 亚洲国产精品传媒在线观看 | 欧美日韩精品免费在线观看视频| 亚洲一区二区成人| 欧美大片一区| 久久精品国产亚洲一区二区| 亚洲欧洲日本一区二区三区| 国产欧美日韩综合| 欧美黄污视频| 欧美制服丝袜| 这里是久久伊人| 亚洲国产成人91精品| 欧美在线视频网站| 亚洲宅男天堂在线观看无病毒| 亚洲福利免费| 国内精品伊人久久久久av影院| 国产精品v日韩精品| 美女网站久久| 久久久国产精彩视频美女艺术照福利| 一区二区欧美精品| 亚洲大片av| 欧美va天堂va视频va在线| 欧美一区二区成人| 亚洲午夜日本在线观看| 日韩午夜av| 亚洲精品久久久久| 亚洲国产成人tv| 在线播放中文一区| 国产一区二区久久| 国产香蕉97碰碰久久人人| 国产精品a久久久久久| 欧美日韩三级视频| 欧美精品三级日韩久久| 欧美阿v一级看视频| 免费欧美高清视频| 老牛影视一区二区三区| 久久视频这里只有精品| 久久久精品日韩| 久久久999精品| 久久漫画官网| 久久亚洲影音av资源网| 久久青草欧美一区二区三区| 久久免费视频这里只有精品| 久久婷婷av| 欧美.www| 欧美日本韩国| 国产精品久久久久久久久久久久| 国产精品夫妻自拍| 国产欧美日韩一级| 精品福利电影| 最新中文字幕一区二区三区| 亚洲精品日日夜夜| 亚洲图片欧洲图片日韩av| 亚洲天堂av综合网| 欧美一区亚洲一区| 久热精品在线| 亚洲欧洲日韩在线| 亚洲视频在线一区| 久久99在线观看| 欧美ed2k| 国产精品青草综合久久久久99| 国产伦精品一区二区三区视频黑人| 国内精品久久久久久久影视蜜臀| 亚洲国产精品女人久久久| 亚洲最新在线视频| 欧美在线观看一区| 欧美成人午夜77777| 亚洲毛片av| 欧美在线视频免费播放| 免费成人高清视频| 国产精品久久久久久妇女6080| 韩国三级在线一区| 在线一区欧美| 猛男gaygay欧美视频| 日韩亚洲视频| 久久人91精品久久久久久不卡| 欧美日本二区| 激情欧美一区二区三区在线观看| 99国产精品一区| 久久久久一区二区三区| 亚洲美女色禁图| 久久久久久久久一区二区| 欧美日韩高清不卡| 在线不卡中文字幕播放| 亚洲一区二区三区中文字幕在线| 久久一区免费| 亚洲一区日韩在线| 欧美激情亚洲激情| 在线成人激情黄色| 欧美有码在线视频| 一区二区三区 在线观看视| 久久人人九九|