stl源碼剖析清晰
1. 自學計算機編程應該看些什麼書
一:第一階段
C語言-------《C語言設計》 作者:譚浩強
大多數人都推薦譚浩強這本書,譚浩強的C語言程序設計,我覺得更適合當教科書,主要是篇幅沒有那麼大,書本的內容不是很全,由老師帶入門是最好的。
《C Primer Plus》第五版 作者:Stephen Prata
這本書比較厚,內容也比較基礎,擴展的也比較廣,自學容易上手,唯一的缺陷在於它是外國人編寫,而國內的翻譯往往讓人難以滿意,如果你有較好的英語水平,最好閱讀英文版的。
《C語言入門經典》第四版 作者:Ivor Horton
二:第二階段
這一階段看個人主攻的方向了,安卓一般就JAVA,PC游戲、軟體C++,也有推薦C#,這些都是主流語言,其他語言要看個人愛好與發展。
面向對象的語言,一般懂一門,之後要轉其他語言也很容易的,其實思想都差不多,主要的不同在於語法。C#容易上手,一個月入門,一年精通,而C++卻有點難,一年入門,二十年也未必敢說自己精通。如果有時間,可以了解一下匯編語言。
C++ Primer, 4rd Edition
(入門類:
C++ Primer, 4rd Edition
Thinking in C++, 2nd Edition
The C++ Standard Library: A Tutorial and Reference
進階類:
The C++ Programming Language, Special Edition
The Design and Evolution of C++
Inside C++ Object Model
C++ Templates: The Complete Guide
STL 源碼剖析
Generic Programming and the STL
Modern C++ Design: Generic Programming and Design Patterns Applied
應用技巧類:
Effective C++, 2nd Editon
More Effective C++
Exceptional C++
More Exceptional C++
Effective STL
Ruminations on C++)
三:第三階段
API/SDK------------- 《windows程序設計》(Jeff Prosise)
這書主要是開發Windows軟體要深入研讀的,畢竟是WindowsAPI。如果是主攻C++,那麼這本書你可以大概略讀一遍,不用過多的深入追究,QT才是C++主要深入思慮的關鍵。
四:第四階段
MFC----《VC++技術內幕》、《深入淺出MFC》及視頻教程孫鑫 VC++6.0
如果是C++,QT是要重點學習的對象。
五:第五階段
COM/DCOM/ATL/COM+---------《COM技術內幕》
未知階段:
《數據結構》,《演算法導論》這些基本是編程的核心了,編程的很大情況都依賴於演算法的實現,這個兩門基本要深入研究,這是決定編程能力的核心標准。
如果不弄底層的話,《操作系統原理》可以簡單地了解。
2. stl源碼剖析 為什麼要使用仿函數
STL(standard template libary),標准模板庫。
這是C++標準的一部分。關於這個庫有不少歷史可以說,侯捷的《STL源碼剖析》講了不少。STL有好幾種不同的實現,微軟也有自己的實現。
關於使用,比如你用了下面的語句:
#include <vector>
就是使用了標准模板庫里的 vector.
然後你這樣聲明向量:
vector<int> a; //向量a包含的元素是int型的
vector<double> b; //向量b包含的元素是double型的
你可以查找對應的頭文件,它們都是以源碼形式出現的,不過裡面的符號定義的讓人眼花繚亂,還是找書看比較好。
標准模板庫包含了數據結構和演算法等方面的內容,比較復雜,學習之前要有十足下信心。
3. 學習stl源碼剖析前需要先看哪些東西
《STL源碼剖析》不是講怎麼樣使用STL和STL技巧的,是關於STL核心代碼的剖析,是面向有豐富經驗的STL程序員來補充和更好的理解STL底層核心機制,初學者看這本書的話基本上是一頭霧水,建議先從基礎學起,C++標准程序庫 和C++stl是比較好的入門且使用的書籍,以後有了一定的STL經驗,再去研究STL源碼剖析,相信那時候你就會有了另一番對STL的領悟。
4. 《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 同濟大學軟體學院。
5. stl源碼剖析什麼水平能看懂
高水平。蘆緩STL是步進觸點指令SequentialFunctionChart的簡稱,是PLC命令,用來作順序功能圖。是一種很很復雜的源碼,在沒有學習過的情況下是看不懂的,因此是很高水平的才能看懂源碼剖析。此種命令可以讓我們程式設消毀計人員在程式規劃時,能夠像平時寫流程圖一樣,對於程式的步序更為清楚,更具有可拿嘩備讀性。
6. 有關C++ STL 方面的書哪些比較好
《Effective STL》,《STL 源碼剖析》 ,英文的《The C++ Standard Library — a Tutorial and Reference》
STL源碼剖析
學習編程的人都知道,閱讀、剖析名家代碼乃是提高水平的捷徑。源碼之前,了無秘密。大師們的縝密思維、經驗結晶、技術思路、獨到風格,都原原本本體現在源碼之中。在你仔細推敲之中,迷惑不解之時,恍然大悟之際,你的經驗、思維、視野、知識乃至技術品位都會獲得快速的成長。
本書所呈現的源碼,使你踏上了基度山島。源碼之前了無秘密,你將看到vector的實現、list的實現、heap的實現、deque的實現、Red Black tree的實現、hash table的實現、set/map的實現;你將看到各種演算法(排序、查找、排列組合、數據移動與復制技術)的實現;你甚至能夠看到底層的memory pook和高階抽象的traits機制的實現。
7. 有沒有關於C++開源軟體解析的書籍
「開源軟體解析」?你的意思是源碼剖析or源碼閱讀方法?
我所知道的(眼界有限,見笑了)純粹C++的有:
《STL源碼剖析》(作者侯捷,深入淺出剖析地STL源碼的組織結構及其細節,值得推薦)
《C++網路編程 第一卷》(書的作者就是ACE的作者,主要向我們展示ACE的設計理念,如果你對網路編程不感興趣,可以不用看)
關於源碼閱讀方法,我所知的有:
《代碼閱讀方法與實際》(書中列舉了大量NetBSD的源碼)
Linux源碼方面的書貌似有不少,Apache,Nginx的源碼書也有不少;這些好像都是純C寫的。
不過想要讀懂這些和特定領域有關的開源代碼,光有語言基礎是不夠的,還有足夠的「領域知識」。讀任何操作系統源碼前你起碼應該知道其上的API如何使用,讀web伺服器源碼前你起碼要知道TCP,HTTP協議的區別與聯系,讀物理引擎的源碼前你起碼要有高中物理的知識儲備和線性代數的基礎