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

Error

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

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

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

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

效率是一個原因,但是個人覺得,穩(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)行,感覺這個速度應(yīng)該是能接受的。

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

posted on 2013-12-22 21:11 Enic 閱讀(228) 評論(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| 国产精品入口尤物| 在线播放精品| 久久嫩草精品久久久精品| 亚洲欧美成人一区二区三区| 国产精品久久久久久久电影| 亚洲欧美在线一区| 久久成人羞羞网站| 在线观看的日韩av| 亚洲精品免费在线观看| 欧美精品激情blacked18| 亚洲视频网在线直播| 亚洲小说欧美另类婷婷| 国产麻豆综合| 蜜桃伊人久久| 欧美日韩国产在线一区| 亚洲欧美日韩中文在线制服| 性欧美精品高清| 亚洲黄网站在线观看| 亚洲黄色片网站| 国产精品乱子乱xxxx| 久久精品视频99| 免费日韩av电影| 亚洲欧美日韩区| 久久久亚洲高清| 一区二区三区高清| 欧美一区二区成人6969| 亚洲人成77777在线观看网| 亚洲乱码精品一二三四区日韩在线 | 国产精品美女xx| 久久久亚洲影院你懂的| 欧美精品激情| 久久久久欧美精品| 欧美日韩国产成人| 久久国产手机看片| 欧美激情一区二区三区四区| 欧美亚洲在线| 欧美成人精品福利| 久久精品一区四区| 欧美日韩一区二区免费在线观看 | 日韩视频中文| 性色av一区二区怡红| 亚洲美女中文字幕| 久久精品在这里| 亚洲欧美日韩一区二区| 欧美不卡三区| 美女被久久久| 国产精品日韩久久久久| 亚洲片区在线| 在线播放精品| 久久爱www久久做| 亚洲欧美久久久久一区二区三区| 欧美成人精品影院| 久久综合久久综合这里只有精品| 欧美色123| 亚洲国产视频一区| 亚洲高清不卡在线观看| 翔田千里一区二区| 午夜精品区一区二区三| 欧美连裤袜在线视频| 欧美成人免费播放| 红桃视频一区| 久久国产福利| 久久嫩草精品久久久久| 国产欧美精品一区二区色综合 | 欧美福利视频在线| 激情欧美丁香| 久久福利资源站| 久久久久久999| 国产日韩欧美一二三区| 亚洲一区二区三区激情| 亚洲影院高清在线| 国产精品久久久久久久app| 在线视频欧美日韩精品| 亚洲综合国产激情另类一区| 欧美日本国产一区| 亚洲美女福利视频网站| 亚洲视频国产视频| 欧美日韩亚洲视频| 中文精品视频一区二区在线观看| 亚洲午夜精品一区二区| 国产精品国产精品国产专区不蜜| 在线视频精品一| 性感少妇一区| 狠狠色狠狠色综合日日小说| 久久性天堂网| 亚洲国产福利在线| 亚洲视频在线观看三级| 国产精品视频久久| 欧美一级理论片| 欧美成人有码| 亚洲视频一二区| 国产伦精品一区二区三区免费迷| 久久激情中文| 亚洲国产免费看| 亚洲欧美激情四射在线日| 国产午夜精品理论片a级探花| 久久久夜色精品亚洲| 亚洲第一在线| 亚洲欧美日韩爽爽影院| 在线观看av一区| 欧美日韩在线免费| 性做久久久久久| 欧美搞黄网站| 亚洲欧美www| 亚洲国产天堂久久综合网| 欧美视频中文字幕在线| 欧美一区二区在线看| 最新国产の精品合集bt伙计| 欧美一级午夜免费电影| 韩日欧美一区| 欧美午夜宅男影院在线观看| 久久久999精品| 一本久久a久久免费精品不卡| 模特精品裸拍一区| 亚洲免费在线电影| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲欧美日韩国产一区二区三区| 毛片一区二区三区| 亚洲欧美日韩国产精品| 亚洲高清影视| 国产日韩欧美二区| 欧美日韩在线亚洲一区蜜芽| 久久青草久久| 亚洲欧美日本伦理| 亚洲精品一区在线观看香蕉| 另类天堂av| 久久国产精品99久久久久久老狼 | 国产真实久久| 国产精品久久午夜夜伦鲁鲁| 欧美剧在线免费观看网站| 久久久久久一区二区三区| 亚洲欧美国产精品va在线观看| 最新成人在线| 亚洲电影第1页| 欧美aⅴ99久久黑人专区| 久久国产精品黑丝| 性高湖久久久久久久久| 在线一区二区三区四区| 亚洲免费福利视频| 亚洲国产成人tv| 在线观看视频一区| 国语自产精品视频在线看8查询8| 国产精品国产精品| 国产精品xxx在线观看www| 欧美另类专区| 欧美日韩国产黄| 欧美日韩另类视频| 欧美日韩成人在线播放| 欧美精品粉嫩高潮一区二区| 欧美风情在线观看| 欧美韩国日本综合| 欧美激情一区二区三区在线视频观看| 久久一区中文字幕| 麻豆久久精品| 欧美不卡一卡二卡免费版| 欧美激情麻豆| 欧美精品三级日韩久久| 欧美日本三级| 欧美日精品一区视频| 国产精品国产自产拍高清av| 国产精品九色蝌蚪自拍| 国产精品视频最多的网站| 国产毛片精品视频| 国内精品美女av在线播放| 亚洲国产成人porn| 日韩天堂在线视频| 亚洲免费伊人电影在线观看av| 香蕉成人久久| 麻豆91精品| 亚洲欧洲日本mm| 亚洲视频精品| 久久久久国产精品一区| 欧美不卡视频| 国产精品美女诱惑| 韩国福利一区| av成人福利| 久久久久九九九| 亚洲人成网站在线观看播放| 亚洲视频一区在线观看| 久久久国产精品一区二区三区| 欧美福利网址| 国产九九精品| 亚洲美女电影在线| 欧美一级专区| 欧美成人午夜影院| 亚洲一区二区3| 久久婷婷综合激情| 欧美午夜在线一二页| 激情久久久久久久久久久久久久久久| 日韩视频在线一区二区| 久久久久久噜噜噜久久久精品| 91久久久久久国产精品| 小嫩嫩精品导航| 欧美精品一区二区三区一线天视频 | 亚洲电影中文字幕| 篠田优中文在线播放第一区| 欧美另类高清视频在线| 国产在线不卡视频| 亚洲桃花岛网站|