• <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>

            兔子的技術(shù)博客

            兔子

               :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

            留言簿(10)

            最新評論

            閱讀排行榜

            評論排行榜

            這應(yīng)該是模板元編程里的概念吧,有時候我們確實需要獲取成員變量的類型,這里提供一個方法借助模板的偏特化達到目的:

            1. templatetypename P>  
            2. struct MemberType;  
            3. templatetypename F, typename T >  
            4. struct MemberType< F T::* >  
            5. {  
            6.     typedef F member_type;   
            7.     typedef T class_type;  
            8. };  
             

             

            假設(shè)我們有個結(jié)構(gòu)定義如下:

             

            1. struct Call  
            2. {         
            3.     int         ID;  
            4.     std::string     Key;  
            5. };  
             

             

            通過 MemberType< decltype( &Call::ID ) >::member_type 就可以獲得是變量 ID 的類型(int)了。

            注:如果你的編譯器不支持 decltype, 可以使用 boost 庫里的 BOOST_TYPEOF 代替。


            轉(zhuǎn)自:http://blog.csdn.net/jadedrip/article/details/5583300
            posted on 2011-08-04 13:55 會飛的兔子 閱讀(712) 評論(0)  編輯 收藏 引用 所屬分類: C++及開發(fā)環(huán)境
            久久91精品国产91久久麻豆| 久久九九全国免费| 一本大道久久东京热无码AV| 亚洲精品久久久www| 亚洲色大成网站WWW久久九九| 久久久久人妻一区精品性色av| 色综合久久中文综合网| 久久精品一区二区影院| 精产国品久久一二三产区区别 | 久久99精品国产麻豆蜜芽| 久久精品无码av| 人妻无码中文久久久久专区| 国产成人精品久久亚洲| 亚洲精品tv久久久久久久久| 伊人热人久久中文字幕| 亚洲中文字幕无码久久综合网| 97久久精品人人做人人爽| 99精品国产免费久久久久久下载| 国产精品久久久久9999高清| 伊人精品久久久久7777| 久久综合丁香激情久久| 亚洲精品乱码久久久久久蜜桃不卡| 久久国产免费| 亚洲国产精品久久久久| 久久精品人人做人人爽97| 偷窥少妇久久久久久久久| 日本国产精品久久| 久久久久久久综合综合狠狠| 国产午夜精品理论片久久影视| 亚洲人成精品久久久久| 亚洲精品午夜国产va久久| 久久精品三级视频| 久久一区二区三区99| 国产精品99久久久久久宅男 | 狠狠综合久久综合中文88| 国产精品一区二区久久国产| 亚洲中文久久精品无码| 国产精品美女久久福利网站| 国内精品伊人久久久久妇| 欧美亚洲国产精品久久| 久久久久久亚洲精品影院|