學習 STL ,BOOST
學習C++已經有一段時間了,但有時感覺自己寫的代碼完全是一個C版的,
所以現在想認真看看C++方面的編程典范。
環顧四周N人都在談論STL BOOST,所以斗膽也想看看源碼。
所以想征求一下各位的意見,我應該只看一個或是從他們中的一個開始。
由于還有其他的活,所以想找條最好的路,請各位不惜賜教。
隨筆 - 10, 文章 - 0, 評論 - 65, 引用 - 0
|
學習 STL ,BOOST學習C++已經有一段時間了,但有時感覺自己寫的代碼完全是一個C版的, 評論# re: 學習 STL ,BOOST 回復 更多評論按照你所說的“有時感覺自己寫的代碼完全是一個C版的”, 我想現在去讀 STL或boost都不太適合, 如果你對模板技術感興趣, 建議你先熟悉一下STL的使用(參考<<C++標準模板庫>>), 然后再研究STL的源碼(參考侯捷<<STL源碼剖析>>), 我想說的是參考書是很重要的幫助, 如果自己一頭撞進去,恐怕過程會很曲折, 甚至會中途放棄
2007-08-11 13:33 | SmartPtr
# re: 學習 STL ,BOOST[未登錄] 回復 更多評論@SmartPtr使用模板應該沒有什么問題,我現在一直都在用。 看來我是到了 “然后再研究STL的源碼(參考侯捷<<STL源碼剖析>>)” ^_^。 現在就是不知道STL和BOOST的區別和聯系,STL中注重根中結構類型功能接口的統一性,我在應用時也有此感受。不知道BOOST是否也遵從這樣的原則, 由于我現在還沒有接觸過BOOST,所以現在不知道怎么決定。
2007-08-11 14:15 | flyman
# re: 學習 STL ,BOOST 回復 更多評論其實我也沒有研讀過boost的源碼, 因為相對于STL, 它太大了, 也更復雜,自己也曾下載想好好讀讀,但最后還是沒有足夠的時間與精力去看。 引用網上一段介紹:boost是一個準標準庫,相當于STL的延續和擴充,它的設計理念和STL比較接近,都 是利用泛型讓復用達到最大化。不過對比STL,boost更加實用。 STL集中在算法部 分,而boost包含了不少工具類,可以完成比較具體的工作。 boost主要包含一下幾個大類:字符串及文本處理、容器、迭代子(Iterator)、算法 、函數對象和高階編程、泛型編程、模板元編程、預處理元編程、并發編程、數學相 關、糾錯和測試、數據結構、輸入/輸出、跨語言支持、內存相關、語法分析、雜項 。 有一些庫是跨類別包含的,就是既屬于這個類別又屬于那個類別。
2007-08-11 14:32 | SmartPtr
# re: 學習 STL ,BOOST 回復 更多評論學STL時,用了《STL程序員指南》那書真的是超級垃圾,不過還是讓我了解了STL,BOOST方面不知有什么好書,BOOST確實很大,要通通研究一片得有充裕的時間、精力和英文閱讀能力,不過BOOST庫很實用。祝福LZ,我也只是學習者的態度。
2007-08-11 14:42 | pass86
# re: 學習 STL ,BOOST 回復 更多評論@SmartPtr@pass86 多謝提供參考,我現在都是用STL,但由于編碼規范問題,我想看看C++的精華 ,:-),聽說BOOST為精華中的精華,所以想通過大家了解一下, 我可能要用到BOOST的圖形和數學方面的東西,到時候在看吧,好了,現在開始看STL(看來又得熬夜了,555)?!禨TL源碼剖析》,SmartPtr推薦,應該不錯。o(∩_∩)o。 BOOST,等用到的時候再講, flyman say:謝了!
2007-08-11 16:07 | flyman
# re: 學習 STL ,BOOST 回復 更多評論現在不推薦去讀boost的源碼。。。里面很多技巧的東西晦澀難懂,會讓你感到模板是個變態的東西。。。估計C++0x出來后,用新標準重寫后代碼會好讀很多。。。
2007-08-11 16:45 | yxxyun
# re: 學習 STL ,BOOST[未登錄] 回復 更多評論@yxxyun:-),希望C++0x在不減少靈活性的同時,用起來就像C#那樣爽, 不過,這好像不怎么現實呀。 STL相對BOOST的確簡單很多,現看看STL的確是個不錯的選擇。
2007-08-11 18:26 | flyman
# re: 學習 STL ,BOOST 回復 更多評論很難講。雖然現有設計也許會好一點,比方說typeof和auto的支持,但是問題是一旦concept這樣的東西被C++接收,不知道還會有什么驚天地泣鬼神的庫,同時也不知道編譯器還能慢成啥熊樣。。。ps,boost除了編譯時間有些長,它的接口和功能設計都很出色。。。
2007-08-11 21:23 | 空明流轉
# re: 學習 STL ,BOOST 回復 更多評論@空明流轉標準還在醞釀中,無論結果如何,其實感覺咱們只有接受的份(CHINA的專家,標準不參與,編譯器更是談不上了,還有啥好說的)。 話說會來,我還是希望標準能 簡化CPP或使C++更易用,易用不等于簡單 。 現在是騎驢沒有標準看呀,^_^。
2007-08-11 22:50 | flyman
# re: 學習 STL ,BOOST 回復 更多評論兩本書推薦侯捷的 C++設計新思維(Modern C++ Design) C++ Template 全覽(C++ Template Complete Guide) 讓你馬上感受泛型的威力
2007-08-12 07:48 | 真 OO無雙
# re: 學習 STL ,BOOST[未登錄] 回復 更多評論@真 OO無雙第一本已經過了,侯先生的書不錯, C++ Template 全覽應該也不錯, 3KS for your recommending.
2007-08-12 10:31 | flyman
# re: 學習 STL ,BOOST 回復 更多評論會用才是實際的。不管是C還是C++,第一是實現功能,第二是簡潔。不必在意是否用到STL,或是BOOST。更不要為了虛榮去閱讀STL源代碼。使用STL帶來許多方便性,但是并不要求去剖析實現過程。
2007-08-13 09:48 | 金慶
# re: 學習 STL ,BOOST[未登錄] 回復 更多評論@金慶說的也是那個理,但我們不得不承認STL好用易上手。這種背后的根源是什么? 為源碼而源碼確實沒有那個必要,但編碼技巧從哪KISS呢?
2007-08-13 10:07 | flyman
|
||||||||||||||||||||||