• <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>
            隨筆 - 31  文章 - 128  trackbacks - 0
            <2006年12月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(5)

            隨筆分類(38)

            隨筆檔案(31)

            收藏夾(4)

            College

            High School

            • 巧克力男
            • 猶大
            • 哈哈,同行了

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 55886
            • 排名 - 407

            最新評(píng)論

            • 1.?re: [yc]詳解link
            • 面試的時(shí)候面試官就問(wèn)過(guò)我什么是編譯和鏈接,我說(shuō)編譯就是把代碼文件生成目標(biāo)文件,鏈接就是把目標(biāo)文件生成可執(zhí)行文件,他說(shuō)不對(duì),又問(wèn)我什么是動(dòng)態(tài)鏈接,還問(wèn)我預(yù)編譯都做什么處理。。。都在這里找到了答案?。。?!
            • --王至乾
            • 2.?re: [yc]詳解link
            • @劉偉
              我是說(shuō)博主,不是叫你啊
            • --溪流
            • 3.?re: [yc]詳解link
            • 誰(shuí)是石老師,我不是哈@溪流
            • --劉偉
            • 4.?re: [yc]詳解link
            • 石老師?我是溪流~
            • --溪流
            • 5.?re: [yc]詳解link
            • 期待樓主下文啊,多謝樓主了
            • --劉偉

            閱讀排行榜

            評(píng)論排行榜



            發(fā)信人: shifan (學(xué)習(xí)浮云技術(shù)), 板面: C++
            標(biāo)  題: 偽typeof
            發(fā)信站: 飄渺水云間 (Tue Dec 19 16:38:45 2006), 轉(zhuǎn)信
             1 /*
             2 用標(biāo)準(zhǔn)C++實(shí)現(xiàn)typeof是不可能的
             3 這個(gè)是我寫(xiě)的一個(gè)approached typeof
             4 所有需要被靜態(tài)反射出來(lái)的類型必須先用DECL_TYPE注冊(cè)
             5 模板如果僅僅帶有1個(gè)參數(shù)可以用DECL_TEMPLATE_1注冊(cè)
             6 多個(gè)參數(shù)的模板還不支持。。
             7 主要是沒(méi)想好編碼
             8 
             9 總共能注冊(cè)64個(gè)類型
            10 可以通過(guò)MAX_TYPE_NUMBER設(shè)置
            11 
            12 支持的模板嵌套層數(shù)大約為32 / log2(MAX_TYPE_NUMBER)
            13 MAX_TYPE_NUMBER必須為2的整次數(shù)冪
            14 */
            15 namespace my_typeof
            16 {
            17 
            18   const int MAX_TYPE_NUMBER = 64;
            19 
            20   template <int N>
            21   struct dummy
            22   {
            23     int a[N];
            24   };
            25 
            26 
            27   template <int N, typename Arg1>
            28   struct select_by_number_1;
            29 
            30   template <int N>
            31   struct select_by_number
            32   {
            33     typedef typename select_by_number_1<% MAX_TYPE_NUMBER, typename
            34 select_by_number</ MAX_TYPE_NUMBER>::type>::type type;
            35   };
            36 
            37 
            38   template <typename T>
            39   struct number_of
            40   {
            41     static const int v = sizeof(generic_f(*(T*)0)) / sizeof(int);
            42   };
            43 
            44 
            45 #define DECL_TYPE(T, N) \
            46   namespace my_typeof{  \
            47   template<>\
            48   struct select_by_number<N> \
            49   {\
            50     typedef T type;\
            51   };\
            52   dummy <N> generic_f(const T&);}
            53 
            54 
            55 #define DECL_TEMPLATE_1(T, N) \
            56   namespace my_typeof{        \
            57   template<typename Arg1>\
            58   struct select_by_number_1<N, Arg1>\
            59   {\
            60     typedef T<Arg1> type;\
            61   };\
            62   template <typename Arg1>\
            63   dummy<+ number_of<Arg1>::v * MAX_TYPE_NUMBER > generic_f(const T<Arg1>&);}
            64 
            65 
            66 
            67 #define TYPE_OF(x) my_typeof::select_by_number<sizeof(my_typeof::generic_f(x)) /
            68 sizeof (int)>::type
            69 
            70 }
            71 
            72 
            73 //sample
            74 #include <iostream>
            75 #include <vector>
            76 #include <list>
            77 
            78 
            79 DECL_TYPE(int1);
            80 DECL_TEMPLATE_1(std::vector, 2);
            81 DECL_TEMPLATE_1(std::list, 3);
            82 DECL_TYPE(double4)
            83 
            84 using namespace std;
            85 int main(intchar*[])
            86 {
            87   vector<list<vector<list<double> > > > v1;
            88   TYPE_OF(v1) v2;
            89   v1 = v2;
            90   return 0;
            91 }
            92 
            93 


            --
            You well 撒法!You well all 撒法!

            ※ 內(nèi)容修改:·shifan 于 Dec 21 14:21:57 修改本文內(nèi)容·[FROM: shifan]
            ※ 來(lái)源:·飄渺水云間 freecity.cn·[FROM: shifan]
            posted on 2006-12-21 14:29 shifan3 閱讀(2644) 評(píng)論(8)  編輯 收藏 引用 所屬分類: templateC++

            FeedBack:
            # re: 偽typeof 2006-12-22 14:10 yayv
            C++標(biāo)準(zhǔn)中有RTTI阿,為什么不考慮下?  回復(fù)  更多評(píng)論
              
            # re: 偽typeof 2006-12-22 16:07 小山日志
            多個(gè)參數(shù)模板可不可以參考Loki里的Typelist來(lái)做,Template編程偶不熟,只是提議。

            to yayv:C++的RTTI是不能運(yùn)行時(shí)創(chuàng)建對(duì)象的,shifan的題目改為“C++的模擬反射機(jī)制”合適些。  回復(fù)  更多評(píng)論
              
            # re: 偽typeof 2007-01-12 13:58 linghuchong
            寒,一開(kāi)始以為是某些編譯器的類似sizeof的typeof關(guān)鍵字,結(jié)果發(fā)現(xiàn)不是……

            不過(guò)既然是動(dòng)態(tài)的為什么要加這么多限制呢?  回復(fù)  更多評(píng)論
              
            # re: 偽typeof 2007-01-12 14:09 Francis Arcanum
            @linghuchong
            誰(shuí)說(shuō)是動(dòng)態(tài)的?  回復(fù)  更多評(píng)論
              
            # re: [yc]偽typeof 2007-11-09 17:11 liuhs
            寫(xiě)的不錯(cuò)!  回復(fù)  更多評(píng)論
              
            # re: [yc]偽typeof 2008-07-22 22:51 xiaowei
            baidu 到 shifan大神的blog,進(jìn)來(lái)膜拜一下  回復(fù)  更多評(píng)論
              
            # re: [yc]偽typeof 2009-01-07 17:17 lsxx
            我也在考慮這個(gè),要是標(biāo)準(zhǔn)里有就好了  回復(fù)  更多評(píng)論
              
            # re: [yc]偽typeof[未登錄](méi) 2011-12-31 00:40 春秋十二月
            模板功底的確不錯(cuò)  回復(fù)  更多評(píng)論
              
            伊人久久大香线蕉AV一区二区| 7777久久久国产精品消防器材| 久久久久国产精品嫩草影院| 精品综合久久久久久88小说| 亚洲欧美日韩精品久久| 99久久这里只有精品| 天天爽天天狠久久久综合麻豆 | 久久天天躁狠狠躁夜夜不卡| 999久久久无码国产精品| 国产精品久久久久国产A级| 国产精品久久久久久吹潮| 99久久精品日本一区二区免费| 欧洲精品久久久av无码电影| av国内精品久久久久影院| 久久国产欧美日韩精品| 狠狠色丁香婷婷久久综合不卡| 久久97精品久久久久久久不卡| 亚洲欧美日韩精品久久| 亚洲精品国精品久久99热| 久久人妻少妇嫩草AV无码专区| www.久久99| 久久综合视频网站| 亚洲∧v久久久无码精品| 2022年国产精品久久久久| 久久强奷乱码老熟女网站| 久久精品一区二区三区AV| 久久久久免费精品国产| 亚洲国产精品成人AV无码久久综合影院 | 国产精品美女久久福利网站| 亚洲精品高清国产一线久久| 国产午夜精品理论片久久影视| 国内精品伊人久久久久影院对白 | 亚洲伊人久久大香线蕉综合图片| 久久精品中文无码资源站| 99热成人精品免费久久| 一本一本久久aa综合精品 | 国产精品久久成人影院| 日本欧美国产精品第一页久久| 久久国产色AV免费观看| 久久久久久亚洲精品影院| 久久免费精品视频|