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

Error

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

QT的Event機(jī)制里邊,所有的Event都是派生于QEvent類,然后Event派發(fā)的時(shí)候都是通過一個(gè)函數(shù):event(QEvent*),通過QEvent::Type()獲取到真實(shí)的類型,然后使用static_cast轉(zhuǎn)換到實(shí)際的類型再派發(fā)到QXXEvent函數(shù)去處理。

這里是利用了CPP的rtii機(jī)制,但是為什么沒有用dynamic_cast呢?猜測是為了效率。

但是這樣有一個(gè)缺陷,就是當(dāng)Type取到的類型和實(shí)際類型不一致的時(shí)候沒有rtii的檢測,可能導(dǎo)致類型不匹配,然后崩潰掉。。。

效率是一個(gè)原因,但是個(gè)人覺得,穩(wěn)定性有限于效率。

即使測試了一下,500000次轉(zhuǎn)換效率也不會太弱,繼承數(shù)深度也不是和效率呈線型關(guān)系的:

class CRoot
{
public:
    virtual ~CRoot(){}
};

class CTest : public CRoot
{
public:
    virtual void ShowFunctionName()
    {
        std::cout << __FUNCTION__ << std::endl;
    }
};

class CTestEx : public CTest
{
public:
    virtual void ShowFunctionName()
    {
        std::cout << __FUNCTION__ << std::endl;
    }
    
    virtual void ShowOnlyForEx()
    {
        std::cout << __FUNCTION__ << std::endl;
    }
};


void Func(CTestEx *pTestEx)
{
    pTestEx->ShowOnlyForEx();
}

void Func(CTest *pTest)
{
    try
    {
        CRoot *pRoot = new CTestEx;

        boost::timer timerTest;

        timerTest.restart();

        for (int i = 0; i < 500000; i++)
        {
            CTestEx *pTextEx = nullptr;
            pTextEx = dynamic_cast<CTestEx*>(pRoot);
        }

        double dTime = timerTest.elapsed();
        std::cout << dTime << std::endl;

        timerTest.restart();

        for (int i = 0; i < 500000; i++)
        {
            CTest *pText = nullptr;
            pText = dynamic_cast<CTest*>(pRoot);
        }

        dTime = timerTest.elapsed();
        std::cout << dTime << std::endl;
        //Func(dynamic_cast<CTestEx*>(pRoot));
        //Func((CTestEx*)pRoot);

        timerTest.restart();

        for (int i = 0; i < 500000; i++)
        {
            CTestEx *pTextEx = nullptr;
            pTextEx = static_cast<CTestEx*>(pRoot);
        }

        dTime = timerTest.elapsed();
        std::cout << dTime << std::endl;
    }
    catch(std::exception& refException)
    {
        std::cout << refException.what() << std::endl;
    }
    catch(std::bad_cast)
    {
        std::cout << __FUNCTION__ << std::endl;
    }
    catch(...)
    {
        std::cout << __FUNCTION__ << std::endl;
    }
}

void Test()
{
    CTest *pTest = new CTest;
    Func(pTest);
}

0.031

0.033

0.001

debug模式下運(yùn)行,感覺這個(gè)速度應(yīng)該是能接受的。

向下類型轉(zhuǎn)換的時(shí)候使用dynamic_cast應(yīng)該是有必要的,所有咱們就這樣用了吧,,,

posted on 2013-12-22 21:11 Enic 閱讀(226) 評論(0)  編輯 收藏 引用 所屬分類: 從零開始寫棋牌游戲平臺
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 欧美日韩一区视频| 中国亚洲黄色| 欧美成人精品激情在线观看| 欧美在线国产精品| 欧美少妇一区| 亚洲韩国一区二区三区| 一区二区在线视频| 亚洲欧美日韩在线综合| 亚洲一区中文字幕在线观看| 欧美韩日一区二区| 欧美国产精品久久| 亚洲第一毛片| 久久婷婷影院| 免费亚洲一区| 亚洲国产经典视频| 久久天堂成人| 欧美激情视频在线播放| 一区二区三区在线观看欧美| 欧美专区在线| 老司机精品视频网站| 黑人极品videos精品欧美裸| 欧美亚洲一区三区| 久久激情五月丁香伊人| 国产视频久久久久久久| 欧美一区国产二区| 久久久水蜜桃av免费网站| 国产综合视频| 久久久精品国产免大香伊| 麻豆精品视频| 在线日韩中文| 免费看成人av| 亚洲精品视频在线观看免费| 一本色道婷婷久久欧美| 欧美网站在线| 欧美一级视频| 欧美1区2区| 亚洲美女福利视频网站| 欧美日韩在线免费| 亚洲欧美国产精品va在线观看| 性欧美长视频| 黄色精品一区二区| 欧美电影免费网站| 一区二区久久| 久久久久在线观看| 最新国产の精品合集bt伙计| 欧美久久久久免费| 亚洲永久免费| 欧美成人激情在线| 亚洲一区bb| 国产一区二区中文字幕免费看| 久久综合电影| 日韩午夜av| 久久久久久夜| 日韩视频在线一区二区| 国产精品入口麻豆原神| 麻豆精品视频在线| 亚洲麻豆一区| 久久综合久久久| 夜夜爽av福利精品导航| 国产欧美一区二区三区另类精品| 久久亚洲私人国产精品va| 日韩视频免费在线观看| 久久青草欧美一区二区三区| 99v久久综合狠狠综合久久| 国产精品视频内| 美女黄网久久| 亚洲欧美日本在线| 亚洲激精日韩激精欧美精品| 久久国产欧美日韩精品| aaa亚洲精品一二三区| 国产亚洲精品一区二555| 欧美激情亚洲| 久久网站免费| 午夜欧美不卡精品aaaaa| 亚洲精品视频免费观看| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲自拍都市欧美小说| 亚洲二区在线观看| 国产性色一区二区| 欧美视频一区二| 欧美国内亚洲| 久久频这里精品99香蕉| 亚洲永久网站| 夜夜精品视频| 亚洲欧洲日本国产| 欧美国产日韩亚洲一区| 久久一区精品| 久久国产加勒比精品无码| 一级成人国产| 99re8这里有精品热视频免费| 曰本成人黄色| 国产一区二区高清| 国产精品视频xxx| 欧美色欧美亚洲另类七区| 欧美激情亚洲精品| 欧美成人精品一区| 免费观看成人www动漫视频| 久久免费视频在线观看| 欧美影院在线| 久久成人羞羞网站| 久久国产一区| 久久精品国产99国产精品| 欧美一级二区| 欧美在线亚洲综合一区| 欧美一站二站| 久久久不卡网国产精品一区| 欧美在线视频免费观看| 久久av一区二区三区| 欧美一级专区免费大片| 久久riav二区三区| 久久久久高清| 玖玖玖免费嫩草在线影院一区| 久久久综合网| 欧美成人免费在线| 欧美精品91| 欧美视频在线一区| 国产精品免费一区二区三区观看 | 免费观看在线综合色| 久久精品一区二区三区不卡| 久久不射电影网| 毛片一区二区| 欧美另类极品videosbest最新版本| 欧美日本国产在线| 国产精品免费观看在线| 狠狠久久五月精品中文字幕| 亚洲国产精品一区制服丝袜 | 欧美一区二区三区另类| 久久精品国产在热久久| 麻豆av一区二区三区| 欧美激情视频在线播放 | 91久久综合| 亚洲一区二区三区四区五区黄 | 久久亚洲一区| 欧美精品二区三区四区免费看视频| 欧美日韩一区二区免费在线观看| 国产精品国产三级国产专播精品人 | 亚洲品质自拍| 亚洲欧美综合国产精品一区| 久久综合色8888| 亚洲人成网站色ww在线| 午夜精品久久久久久久99黑人| 久久精品视频播放| 欧美日本乱大交xxxxx| 国产精品视频网站| 亚洲国产精品久久人人爱蜜臀| 一区二区三区四区蜜桃| 久久精品免费观看| 亚洲经典三级| 久久av一区二区三区亚洲| 欧美电影在线免费观看网站| 国产精品日韩欧美大师| 91久久精品国产91久久性色| 午夜日韩福利| 亚洲黄色有码视频| 欧美在线3区| 欧美日在线观看| 亚洲国产精品一区制服丝袜| 销魂美女一区二区三区视频在线| 欧美高清视频在线观看| 亚洲欧美一区二区视频| 欧美日本韩国| 91久久黄色| 老司机久久99久久精品播放免费 | 亚洲欧美网站| 欧美日韩精品久久| 亚洲国产成人精品久久| 久久国产精品一区二区三区四区 | 亚洲电影网站| 久久国产精品久久久久久电车| 亚洲美女av黄| 免费视频一区| 在线看不卡av| 久久午夜激情| 先锋影院在线亚洲| 国产乱码精品一区二区三区五月婷| 日韩一级成人av| 亚洲高清网站| 久久综合999| 亚洲第一在线视频| 久久亚洲国产精品日日av夜夜| 亚洲欧美中文字幕| 国产精品午夜久久| 性色av一区二区三区在线观看 | 亚洲欧美国产高清| 国产精品久久久久久久久久三级| 夜夜嗨av一区二区三区中文字幕 | 欧美肥婆在线| 久久网站免费| 亚洲电影视频在线| 欧美成人a视频| 久久亚洲一区二区| 最新精品在线| 亚洲激情网站| 欧美日韩精品三区| 午夜精品亚洲一区二区三区嫩草| 制服丝袜激情欧洲亚洲| 国产精品美女久久久久aⅴ国产馆| 亚洲自拍偷拍麻豆| 亚洲欧美清纯在线制服|