Sample BSP原始碼簡析

2021-06-13 13:55:55 字數 1266 閱讀 8166

#ifndef __bsp_h__

#define __bsp_h__

#include "sdksample.h"

#include "filesystemlayer.h"

filesystemlayer.h 用來處理檔案系統的目錄 路徑等資訊

後面的mfslayer->getconfigfilepath就是用了該檔案中定義的類。

平台的判斷以及必要標頭檔案的包含

using namespace ogre;

using namespace ogrebites;

ogrebites 用來處理gui 小工具 和攝像機操作

class _ogresampleclas***port sample_bsp : public sdksample

stringvector getrequiredplugins()

用查詢的方式得到基類中該函式的定義

virtual ogre::stringvector getrequiredplugins()

以及呼叫ogre::stringvector rp = s->getrequiredplugins()(samplecontext.h中)

virtual 的宣告使這裡會自動呼叫派生類中的getrequiredplugins

這正是virtual的魅力所在。

protected:

void locateresources()

基類中有其虛函式的版本

建立管理器

void loadresources()

基類中有其虛函式的版本

載入資源是個耗時的過程,為了在這期間不讓人產生宕機或者什麼都沒有的感覺,用了showloadingbar進度條,mtraymgr是ogre內建的gui。

void unloadresources()

資源的解除安裝順序和呼叫賦值的順序相反。

void setupview()

string marchive;

string mmap;

};#endif

libc hashtable 原始碼簡析

本文分析的是 中截止至 2016 年 1 月 30 日最新的libc libc 中,hashtable的實現為鏈式結構。在教科書 introduction to algorithm 3rd edition 中,介紹的實現是由乙個陣列作為buckets,每個陣列中儲存乙個鍊錶。但是libc 中,使用乙...

HashMap原始碼簡析

hashmap 基於map介面實現的,允許使用null值和null鍵,但資料無序的.劃重點 執行緒不安全.若是想獲取乙個執行緒安全的hashmap,可用下面方法 map map collections.synchronizedmap new hashmap hashmap的主幹是entry陣列,每乙...

HashTable原始碼簡析

hashtable 資料結構是一種比較古老的 dictionary 實現 大家常用的hashmap 是實現的abstractmap。hashtable 內部使用了table 陣列和entry鍊錶實現。內部使用了synchronized 關鍵字保證執行緒安全,簡單粗暴,但是有效。若擔心多執行緒環境下 ...