標籤:style blog http color 使用 io strong html
首先說明標題的含義,怎麼感覺就和定義一種語言一樣,需要有一個規約呢。。。。。
標題定義如下:遊戲開發tip之+內容+(總tips的第幾篇)
擴充如下:內容(一,二,三.....)
新手可憐,大神每一句話也許都藏著乾貨,但是新手總是不能立馬明白(立馬理解和明白的話,估計就上升為和大神一樣的層級了吧)。廢話少說,開始本文。
大神說,一個好的遊戲引擎應該提供一個好的RTTI。當然,遊戲引擎可以自己實現。遊戲引擎也可以不實現自己的RTTI,此時需要開發人員自己寫一套RTTI。
為什麼呢?
為什麼不用C++自己提供的RTTI呢?因為,無論C++提供的哪種轉換,都特別耗費資源。
想到現在項目裡,前人寫的欄位getType()。根據這個type可以判斷出來是處於哪一個子類。當時還特別不明白,心想這不是多此一舉嗎?一個dynamic_cast就能搞定的事情,還非要麻煩到需要去給type進行賦值。
此時,明白了這種處理方法,可惜有點晚了。為嘛晚了。。。。這個。。。還是不說了。。。。
在網上搜了一下自己實現RTTI功能的文章,文章裡也如是說:
“運行時的動態類型檢查(RTTI,Run Time Type Indentifiation)是c++中提供的一項語言機制,它主要用於判斷多態對象的具體類型。
為什麼不使用c++提供的RTTI功能
但c++中直接提供的RTTI存在一些缺點。首先它提供了取得類名(typeinfo中的name函數)的功能,這個功能實際上並不是RTTI必須的。很多時候我們不需要取得類的名字,而只是希望判斷某對象的具體類型。而且typeinfo取得的名字還不一定是可移植的,不同編譯器取得的類型名字不一定一樣。
其次,在大多數情況下如果開啟RTTI,一般來說程式中的所有多態類都會附加上RTTI資訊的開銷,而我們常常只需要選擇其中某些類具有RTTI的功能就可以了。
總的來說,c++語言提供的RTTI與編譯器相關,並不是可控的。因此我們有必要自己實現一份RTTI。 ”
看不太懂上段文字說的啥,記一個tip吧。
原文連結為:http://m.blog.csdn.net/blog/s_51563946/4465502
為了防止博主將博文處理,本博也只好重貼一遍:http://www.cnblogs.com/slysky/p/3904227.html