目前分類:C++ (8)
- Apr 28 Wed 2010 15:24
求整數以2為底的Log運算
- Feb 07 Sat 2009 14:25
Overload + Overwrite + Virtual = ???
- Jan 14 Wed 2009 13:49
% 運算子的妙用
- Jan 03 Sat 2009 20:37
X % 2^N 特定數值的取餘數計算
- Aug 09 Sat 2008 13:13
#,##的功能
# 和 ##這兩個是個非常好用的前置定義語法,通常搭配#define出現
1. #的用途是將啣接的符號轉換成字串
example
- Aug 07 Thu 2008 23:43
RTTI 二部曲
上一篇提到如何去使用C++函式庫所內建的RTTI操作方式,
但是怎麼自己設計一個還是有點霧煞煞是吧。
沒關係,奉彼德哥之命,我又看了一些書,爬了一些文章。
現在就來跟各位娓娓道來這些心路歷程。
- Aug 04 Mon 2008 00:30
RTTI
RTTI是什麼?做這些有什麼意義?
呜~~我想,很多programmer對這個既熟悉又充滿陌生的辭彙感到一知半解。
熟悉的地方是,每天都要用它。引擎裡有用到,就算引擎沒有,對於一個專業的物件導向程式設計師來說,RTTI是不可或缺的,畢竟設計一個class就是在宣告一個型別(Type)。陌生的地方是,很多人都會用(因為有人已經寫好了,只要call function就好),但是卻不了解怎麼做,一個programmer怎麼可以對技術一知半解,這要怎麼生存。寫這邊文章的最主要目標就是分享我對RTTI研究的心得,希望也能夠帶給大家許多幫助,我會用連小學五年級都懂的話來告訴大家。
RTTI(Run-Time Type Information, or Run-Time Type Identification)執行時期型態資訊(辨識),C++可以將基礎類別指向衍生類別,這通常發生在程式執行時,因此你並不知道這個基礎類別指向的物件型態是什麼,如此就必須在執行時期才可以做到取得物件資訊的,瞭解物件的資訊之後才能做正確的操作。那要怎麼做呢?
- Aug 02 Sat 2008 15:45
inline function是做什麼的
inline function是C++程式碼在編譯時嵌入呼叫者所在之處的函數。就像巨集一樣,inline function免除了函數呼叫時的而外負擔,增加效率,並且可以讓編譯器對其最佳化(procedural integration)。與macro不同的地方是,inline function只會對所有引數求一次的值,避免某些當在寫macro所不易察覺的錯誤。次外,inline function還會檢測引數的型態,做必要的型別轉換。
注意:過度使用inline function會讓程式碼過於肥胖,於分頁(paging)環境下反而有負面的效能影響。
宣告
注意:過度使用inline function會讓程式碼過於肥胖,於分頁(paging)環境下反而有負面的效能影響。
宣告