3D游戲引擎底層數(shù)據(jù)結(jié)構(gòu)封裝之List

相信很多開發(fā)者在游戲開發(fā)中都會用到List表,用于存儲數(shù)據(jù)或者對象。估計也有很多人對它的實現(xiàn)并不清楚,只是會用而已。學(xué)習(xí)知識不能僅限于表面,如果抱著只是會用,時間長了對自己的技能提升沒有任何幫助不進則退,相信大家都學(xué)過侯捷先生的書,它編寫的C++都是底層的實現(xiàn)。作為開發(fā)者來說,如果對知識的掌握只限于表面,長久下去把自己就廢了。因為現(xiàn)在引擎都封裝的非常完善,其實這樣做的后果就是引擎的關(guān)鍵技術(shù)只是掌握在少數(shù)人手中,大部分開發(fā)者都是邏輯程序員,一直要依附于人家才能生活,這樣很可悲的,作為開發(fā)者的我們更應(yīng)該自己主動的去學(xué)習(xí)。這樣即使引擎有問題,自己也可以輕松解決。本章主要是給讀者介紹關(guān)于List的封裝,List是鏈表,表是有結(jié)點組成的,鏈表的遍歷可以使用迭代器實現(xiàn),這些就組成了鏈表的封裝。

首先看看迭代器的定義:

[cpp]
/// the list iterator  
   class Iterator  
   {  
   public:  
       /// default constructor  
       Iterator();  
       /// constructor  
       Iterator(Node* node);  
       /// copy constructor  
       Iterator(const Iterator& rhs);  
       /// assignment operator  
       const Iterator& operator=(const Iterator& rhs);  
       /// equality operator  
       bool operator==(const Iterator& rhs) const;  
       /// inequality operator  
       bool operator!=(const Iterator& rhs) const;  
       /// pre-increment operator  
       const Iterator& operator++();  
       /// post-increment operator  
       Iterator operator++(int);  
       /// pre-decrement operator  
       const Iterator& operator--();  
       /// post-increment operator  
       Iterator operator--(int);  
       /// bool operator  
       operator bool() const;  
       /// safe -> operator  
       TYPE* operator->() const;  
       /// safe dereference operator  
       TYPE& operator*() const;  
   private:  
       friend class List<TYPE>;  
  
       /// access to node  
       Node* GetNode() const;  
  
       Node* node;  
   };  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,954評論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,199評論 4 61
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,644評論 18 399
  • 手機上的APP實在是太多了,比較熱門的手機APP大家都知道,但其實還有許多小眾的APP也是非常好用的,下面小編就給...
    時光與我同眠閱讀 552評論 0 3
  • 小時候我以為,長大了就可以跟姐姐一樣高。直至我到了初三時,身高還停滯在六年級,我才黯然神傷,有些事情埋怨不了時間。...
    思峯如飴閱讀 87評論 0 0

友情鏈接更多精彩內(nèi)容