『壹』 在C++ 學習過程中,哪些書籍值得一看
輕巧類: <Effective C++>, <More effective C++> <Exceptional C++>, <More exceptional C++> <C++ coding standards>深入實現:<C++語言的設計與演化><深度探索C++模型> STL: <C++ 標准程序庫><STL源碼剖析><泛型編程與STL>
作者:WingStone
鏈接:https://www.hu.com/question/20066655/answer/13863651
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
『貳』 《STL源碼剖析》還能看嗎C++標准中 STL 只是加入了新的庫,而不是重寫
當然可以看。學習stl的實現原理的目的,是學習編程範式、技巧、語言的深入理解等過程。且不說c++ 11引入的新特性,只不過是一些語法糖,目前在工業界並沒有普及開來。學習語言應該不僅僅限於學習語法本身,更重要的是背後的設計思想。這些思想,不管c++、python還是java等,都是通用的原理。
『叄』 學習stl源碼剖析前需要先看哪些東西
《STL源碼剖析》不是講怎麼樣使用STL和STL技巧的,是關於STL核心代碼的剖析,是面向有豐富經驗的STL程序員來補充和更好的理解STL底層核心機制,初學者看這本書的話基本上是一頭霧水,建議先從基礎學起,C++標准程序庫 和C++stl是比較好的入門且使用的書籍,以後有了一定的STL經驗,再去研究STL源碼剖析,相信那時候你就會有了另一番對STL的領悟。
『肆』 知乎有哪些瞠目結舌的c++技巧
首先是一本好的C++書籍(Accelerated C++, C++ Primer),然後以及盡量多的完成書籍的習題,可以幫助完成C++語法的學習。雖然前面的書籍涵蓋了標准庫,但是不夠完善,這個時候你可以選擇在線查閱C++標准庫這種泛型的學習方式,也可以選擇閱讀《C++標准庫》的方式進行學習。通過這樣的步驟,你應該可以完成C++的初步學習了。
然後,由於C++是一門系統級語言,我想你需要到大三學習操作系統的時候,才會明白棧與堆、內存管理等更深層次的含義。但是,在明白這些概念之前不會妨礙你利用C++做一些事情,比如寫一個簡單的XML Parser。這個時候,你應該會發現很多問題,如效率,代碼規范等,這個時候,你可以研究Effective C++,Google C++ Code Standard等,只有自己犯了錯,回過頭反省才會更加深刻。
隨後,你可以更加深刻的去思考C++,你需要閱讀《The Design and Evolution of C++》。這本書的閱讀,會教會你很多,是對你影響最大的C++書籍。如果你對C++編譯器的一些細節有興趣,深入C++對象模型可以推薦。如果你對STL的一些實現有興趣,可以去翻翻STL源代碼(很多人推薦STL源碼剖析,但是我沒有閱讀過,我沒有辦法發表是否應該推薦的觀點,列出來供你自行判斷是否應該閱讀)。
到這一步驟,我想你應該可以稱為C++ Programmer了,剩下的就是實踐中發現問題,然後補足自己。
『伍』 《STL源碼剖析》:無名形參
1、函數在聲明時就已經確定其格式(可能因擴展、重載或其它原因無法修改修改其原型);
2、函數體內不需要用到某形參,可以省略該形參名;
3、形參類型不能省略,一旦省略,那就跟原型不一致了
4、省略不需要用到的形參是為了避免嚴格編譯時,編譯器對沒有使用的變數給出警告信息
5、...
『陸』 <<STL源碼剖析>> << C++標准程序庫>>
侯捷把STL的學習比喻為三個境界:
第一境界:熟用STL
第二境界:了解泛型技術的內涵與STL的學理乃至實作
第三境界:擴充STL
這三個境界都可以使用 << C++標准程序庫>>,但是第三境界推薦使用<<STL源碼剖析>>
『柒』 《STL源碼剖析》pdf下載在線閱讀,求百度網盤雲資源
《STL源碼剖析》侯捷電子書網盤下載免費在線閱讀
鏈接:
書名:STL源碼剖析
作者名:侯捷
豆瓣評分:8.7
出版社:華中科技大學出版社
出版年份:2002-6
頁數:493
內容介紹:
學習編程的人都知道,閱讀、剖析名家代碼乃是提高水平的捷徑。源碼之前,了無秘密。大師們的縝密思維、經驗結晶、技術思路、獨到風格,都原原本本體現在源碼之中。這本書所呈現的源碼,使讀者看到vector的實現、list的實現、heap的實現、deque的實現、Red Black tree的實現、hash table的實現、set/map的實現;看到各種演算法(排序、查找、排列組合、數據移動與復制技術)的實現;甚至還能夠看到底層的memory pool和高階抽象的traits機制的實現。
作者介紹:
侯捷,出生於1961年09月28日,台南縣柳營鄉人,南京大學客座教授。第一次在大陸大學授課: 南京大學軟體學院 and 同濟大學軟體學院。
『捌』 stl源碼剖析 為什麼要使用仿函數
STL(standard template libary),標准模板庫。
這是C++標準的一部分。關於這個庫有不少歷史可以說,侯捷的《STL源碼剖析》講了不少。STL有好幾種不同的實現,微軟也有自己的實現。
關於使用,比如你用了下面的語句:
#include <vector>
就是使用了標准模板庫里的 vector.
然後你這樣聲明向量:
vector<int> a; //向量a包含的元素是int型的
vector<double> b; //向量b包含的元素是double型的
你可以查找對應的頭文件,它們都是以源碼形式出現的,不過裡面的符號定義的讓人眼花繚亂,還是找書看比較好。
標准模板庫包含了數據結構和演算法等方面的內容,比較復雜,學習之前要有十足下信心。
『玖』 STL源碼剖析怎麼樣
STL很龐大,本書很好地萃取出了STL的主要內容(不考慮異常,多線程等相關代碼),並加以詳略得宜的剖析,讓人覺得STL原來如此簡單。因為是STL組件本身就有很多類似的地方,所以侯先生的行文大量復用之前文字(有時完全粘貼,有時稍作改動),讀起來像讀優秀代碼一般痛快。