現在是2023年4月22日,17:54,完整分析stl源**結束,我終於可以松了一口氣,感想頗多呀!
特別是對stl的熟練的使用,讓我在平時的開發工作中大大提高了開發的效率,比如我前一段時間開發的一些***元件,以及曲線控制項,因為我用的是atl,所以我不用mfc,這樣stl的優點就能很好的發揮出來,後來慢慢的,我在mfc中也大量的使用stl,因為它使的開發工作更加快速了,為我省了很多的時間,可是在使用的過程中遇到過很多的問題,由於一開始的時候並不了gp技術,所以一出了錯了,就亂了套了,後來看了很多關於stl方面的書,這類問題也就很少了,但是我並不侷限於此,不僅要會用它,更重要的是它如何使用了泛型程式設計技術,學習它的源**讓我們可以怎樣在我們平時的開發工作中利用泛型技術.
記得我的一位老師,他是從事密碼學方面研究的doctor,他從事vc開發已經有很多年了.平時我和他聊天的時候,他說他覺得泛型技術在確是一項很了不起的技術,比如boost,stl,都是很有工業價值的工業庫,可是在一般開發工作中,很多人並沒有把它用好,或者根本沒有用,大學裡教的data structure很多都是紙上談兵,如果大學裡能夠系統的學習stl中的源**,我想效果要好的多了!
後來在這位老師的影響下,我也對stl發生濃厚興趣,這一陣子終於研究完了所有的stl的源**,同時也解開了以前不明白的東西,因為畢竟是我一行一行的去學習的,所以我現在對源程式的**記憶很深,同時也讓我深深感到寫程式覺非幾年的事情,想想自己寫程式也有好幾年了,可是哎,感覺水平太差.雖然平時周圍水平比俺高的人不多,可我知道自己有多少水平,所以我要努力努力,再努力!
在看stl的source code 中需要很好的data structure 知識,還有一些是一般的大學課本中所找不到的,比如讓我研究了不少時間的red-black tree!
今天晚上要好好休息一下了,我已經完整的分析完了stl源**了.並作了很厚的筆記,我感到很充實,嘿嘿!
STL原始碼分析set
include include using namespace std int main set iset ia,ia 5 cout size iset.size endl cout 3 count iset.count 3 endl iset.insert 3 cout size iset.siz...
STL原始碼分析 List
鍊錶是一種線性表,但不會按照線性的順序儲存。鍊錶每次插入和刪除乙個元素,只配置或者釋放乙個元素空間,對於任何位置的元素的插入或者刪除,list永遠是常量時間複雜度。template struct listnode 節點物件包含兩個節點物件指標,分別指向前乙個節點和後乙個節點,還有乙個節點物件存放的資...
STL原始碼分析 string
從定義可知,string其實是base string的特化類,string使用預設的記憶體分配器 stl default allocator chart template class alloc stl default allocator chart class basic string typed...