stl源碼剖析-ag真人国际官网
❶ stl源碼剖析里的一段源碼 vs2013編譯不能通過,誰能幫我解答下這是為什麼
是stl_alloc.h編譯不過還是你的代碼里引入了.h文件後編譯不過,stl在安裝的時候就有的,但是用之前要記得using namespace std;,如果是h編譯不過,說明stl本身就出問題了(比如不全,.h找不到等)
❷ stl源碼剖析 為什麼要使用仿函數
stl(standard template libary),標准模板庫。
這是c 標準的一部分。關於這個庫有不少歷史可以說,侯捷的《stl源碼剖析》講了不少。stl有好幾種不同的實現,微軟也有自己的實現。
關於使用,比如你用了下面的語句:
#include
就是使用了標准模板庫里的 vector.
然後你這樣聲明向量:
vector
vector
你可以查找對應的頭文件,它們都是以源碼形式出現的,不過裡面的符號定義的讓人眼花繚亂,還是找書看比較好。
標准模板庫包含了數據結構和演算法等方面的內容,比較復雜,學習之前要有十足下信心。
❸ <
侯捷把stl的學習比喻為三個境界:
第一境界:熟用stl
第二境界:了解泛型技術的內涵與stl的學理乃至實作
第三境界:擴充stl
這三個境界都可以使用 << c 標准程序庫>>,但是第三境界推薦使用<
❹ 【高分】《stl源碼剖析》中的代碼
1. 他給的那份代碼好像也編譯不了吧;不知道你說的想編譯看下是什麼意思。
其實用別的實現也可以看效果的,比如 stlport之類的。
2. 他所使用的就是 sgi stl ,這個應該這些年不太有變化
3. 你找份新的也可以的;我記得看過幾乎沒什麼變化的。
4. 在侯捷的網站上有;實在不行,在csdn上找找吧,應該也有的。
5. http://www.sgi.com/tech/stl/download.html
直接到這里下載一個v2.x的版本,就可以了。其剖析的也是2.x的版本
❺ 在閱讀侯捷的stl源碼剖析中遇到的」__value_type「
您好,#include
#include
using namespace std;
int main()
{
int ia[5] = {0,1,2,3,4};
vector
vector
x.insert(ite, ia, ia 5); //insert()
retrun 0;
}
出錯的原因是在定義ite時沒有初始化ite。當調用此型insert函式時(當然調用insert(int value)不會出錯,它不使用ite),它認為正確初始化了ite(ite此時為無效值,因為沒有初始化),所以當它向ite所指向的內存存放數據時出現非法訪問。當你在聲明vector
vector
書寫此文可能有小題大作之嫌,這里指的錯誤是不初始化指針,但在本例子沒有出現非法訪問,因為它根本就沒有使用ite。但是當我實際應用時,一定要注意初始化,千萬不要以為侯老師這么寫,就照搬抄寫,那你一定會後悔的。作者只是重在語義,也可能是我理解錯誤。總之,此文僅供參考,如有錯誤還望來信指正,在下感激不盡。
❻ 《stl源碼剖析》還能看嗎c 標准中 stl 只是加入了新的庫,而不是重寫
當然可以看。學習stl的實現原理的目的,是學習編程範式、技巧、語言的深入理解等過程。且不說c 11引入的新特性,只不過是一些語法糖,目前在工業界並沒有普及開來。學習語言應該不僅僅限於學習語法本身,更重要的是背後的設計思想。這些思想,不管c 、python還是java等,都是通用的原理。
❼ 學習stl源碼剖析前需要先看哪些東西
《stl源碼剖析》不是講怎麼樣使用stl和stl技巧的,是關於stl核心代碼的剖析,是面向有豐富經驗的stl程序員來補充和更好的理解stl底層核心機制,初學者看這本書的話基本上是一頭霧水,建議先從基礎學起,c 標准程序庫 和c stl是比較好的入門且使用的書籍,以後有了一定的stl經驗,再去研究stl源碼剖析,相信那時候你就會有了另一番對stl的領悟。
❽ stl源碼剖析怎麼樣
stl很龐大,本書很好地萃取出了stl的主要內容(不考慮異常,多線程等相關代碼),並加以詳略得宜的剖析,讓人覺得stl原來如此簡單。因為是stl組件本身就有很多類似的地方,所以侯先生的行文大量復用之前文字(有時完全粘貼,有時稍作改動),讀起來像讀優秀代碼一般痛快。
❾ stl源碼剖析電子書txt全集下載
stl源碼剖析 txt全集小說附件已上傳到網路網盤,點擊免費下載: