Dynamic cast的效率問題

2021-05-22 12:11:57 字數 397 閱讀 8997

dynamic_cast的作用:在derived class身上執行derived class 執行函式,手頭只有指向base的pointer或reference.

方案一:

class window;

class specialwindow:public window  //什麼也不做

class specialwindow:public window;  //做事

typedef std::vector> vpw;

vpw winptrs;  //容器內含指標,指向所有可能window型別

for(vpw::iterator iter=winptrs.begin();iter!=winptrs.end();++iter)

(*iter)->blink();

C 的RTTI和dynamic cast效率問題

在網上經常看到有人說,dynamic cast的效率問題.當然因為它是執行 時的cast,開銷必然少不了.對於down cast,可以用static cast代替,只不過不太安全.對於鑽石結構類關係,要cast到兄弟類,那麼只能用dynamic cast了.記得我在做前乙個專案中,發現召喚了500個...

dynamic cast的使用條件

c 提供了兩種方式來支援rtti,dynamic cast是其中一種,另一種是typeid 表面上看,dynamic cast有兩種形式 base pbase new derived derived pderived dynamic castpbase base refbase derived de...

你擔心handlerThread的效率問題嗎?

handlerthread handler looper messagequeue相互關聯對應 queue是通過msg.next指向下乙個msg來實現,mmessages代表當前的message,每取出乙個msg,移動一次mmessages,一直到最後乙個msg handlerthread是乙個執行...