<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 134,comments - 22,trackbacks - 0
    以前一直沒有關心std::endl的工作機制,最近突然想一窺究竟,于是下載了sgi的stl(http://www.sgi.com/tech/stl/)實現,
    于是恍然大悟,對其實現者真是敬佩。

    在文件Ostream中class basic_ostream 有如下成員函數:

     basic_ostream& operator<< (basic_ostream& (*__f)(basic_ostream&))
        { return __f(*this); }

     basic_ostream& operator<< (_Basic_ios& (*__f)(_Basic_ios&))
        { __f(*this); return *this; }

     basic_ostream& operator<< (ios_base& (*__f)(ios_base&))
        { __f(*this); return *this; }

    然后有如下全局函數:
    template <class _CharT, class _Traits>
    inline basic_ostream<_CharT, _Traits>&
    endl(basic_ostream<_CharT, _Traits>& __os) {
      __os.put(__os.widen('\n'));
      __os.flush();
      return __os;
    }

    可見原來我們經常使用的cout<<.....<<endl中的endl竟然是一個函數指針,由此我們還可以找到如下定義:

    // basefield manipulators, section 27.4.5.3
    inline ios_base& dec(ios_base& __s)
      { __s.setf(ios_base::dec, ios_base::basefield); return __s; }

    inline ios_base& hex(ios_base& __s)
      { __s.setf(ios_base::hex, ios_base::basefield); return __s; }

    inline ios_base& oct(ios_base& __s)
      { __s.setf(ios_base::oct, ios_base::basefield); return __s; }

    原來這些我們經常見到的C++流輸出格式符居然都是一些函數,都是通過重載<<操作符來實現的。
    http://www.cppblog.com/luke/archive/2009/04/01/78572.html
    posted on 2009-11-15 12:21 何克勤 閱讀(301) 評論(0)  編輯  收藏 所屬分類: C/C++
    主站蜘蛛池模板: 国产亚洲蜜芽精品久久| 亚洲AV无码一区二区大桥未久 | 国产成人麻豆亚洲综合无码精品 | 亚洲妇熟XXXX妇色黄| 巨胸狂喷奶水视频www网站免费| 亚洲国产91精品无码专区| 无遮挡呻吟娇喘视频免费播放| 免费又黄又爽又猛的毛片 | 久久久亚洲精华液精华液精华液| 四虎影院在线免费播放| 亚洲AV无码一区二区三区久久精品 | 亚洲人成电影福利在线播放 | 国产免费一区二区视频| 亚洲a一级免费视频| xxxxx免费视频| 亚洲熟妇成人精品一区| 四虎影视永久免费观看地址| 美女黄色毛片免费看| 国产gv天堂亚洲国产gv刚刚碰| 久久国产福利免费| 久久久亚洲欧洲日产国码aⅴ| 免费看男女下面日出水来| 亚洲国产精品成人综合色在线| 国产公开免费人成视频 | 67pao强力打造高清免费| 久久亚洲最大成人网4438 | 在线精品亚洲一区二区三区| 日韩内射激情视频在线播放免费 | 亚欧色视频在线观看免费| 亚洲av午夜电影在线观看| 国产成人精品久久亚洲| 中文字幕免费视频一| 亚洲AV无码AV男人的天堂不卡| 亚洲精品岛国片在线观看| 精品免费视在线观看| 中文字幕 亚洲 有码 在线 | **一级一级毛片免费观看| 羞羞漫画在线成人漫画阅读免费| 亚洲国产精品嫩草影院在线观看| 无限动漫网在线观看免费| 黄视频在线观看免费|