目前分類:C++ (8)

瀏覽方式: 標題列表 簡短摘要

實在懶得打字…,反正結論就是我用3.,就這樣XD

 

1. x越大, 則迴圈執行次數越多, 效能隨x變動

int IntLog2(unsigned int x)
{

allthen 發表在 痞客邦 留言(2) 人氣()

前幾天發現一個很有趣的問題

至今仍然找不到解答

歡迎高手們來挑戰

 

class TestA

seeulin 發表在 痞客邦 留言(3) 人氣()

% 運算子是求餘數的運算子在二維陣列的處理可以使用此技巧

首先看以下的範例

int Array[M][N];

for (int i = 0; i < M; ++i)

SnakeEater 發表在 痞客邦 留言(0) 人氣()

% 在C當中為取餘數(Mod)

Ex:

5 % 2 = 1

12 % 4 = 0

12 % 8 = 4

allthen 發表在 痞客邦 留言(1) 人氣()

# 和 ##這兩個是個非常好用的前置定義語法,通常搭配#define出現

1. #的用途是將啣接的符號轉換成字串

example

SnakeEater 發表在 痞客邦 留言(0) 人氣()

上一篇提到如何去使用C++函式庫所內建的RTTI操作方式,
但是怎麼自己設計一個還是有點霧煞煞是吧。
沒關係,奉彼德哥之命,我又看了一些書,爬了一些文章。
現在就來跟各位娓娓道來這些心路歷程。

SnakeEater 發表在 痞客邦 留言(0) 人氣()

  • 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++可以將基礎類別指向衍生類別,這通常發生在程式執行時,因此你並不知道這個基礎類別指向的物件型態是什麼,如此就必須在執行時期才可以做到取得物件資訊的,瞭解物件的資訊之後才能做正確的操作。那要怎麼做呢?

SnakeEater 發表在 痞客邦 留言(0) 人氣()

inline function是C++程式碼在編譯時嵌入呼叫者所在之處的函數。就像巨集一樣,inline function免除了函數呼叫時的而外負擔,增加效率,並且可以讓編譯器對其最佳化(procedural integration)。與macro不同的地方是,inline function只會對所有引數求一次的值,避免某些當在寫macro所不易察覺的錯誤。次外,inline function還會檢測引數的型態,做必要的型別轉換。

注意:過度使用inline function會讓程式碼過於肥胖,於分頁(paging)環境下反而有負面的效能影響。

宣告

SnakeEater 發表在 痞客邦 留言(0) 人氣()