《Effective STL中文版》前言

2021-06-18 01:03:54 字數 1611 閱讀 1933

《effective stl中文版》前言

我第一次寫關於stl(standard templatelibrary,標準模板庫)的介紹是在1995 年,當時我在more effective c++的最後乙個條款中對stl 做了粗略的介紹。此後不久,我就陸續收到一些電子郵件,詢問我什麼時候開始寫effective stl。

有好幾年時間我一直在拒絕這種念頭。剛開始的時候,我對stl 並不非常熟悉,根本不足以提供任何關於stl 的建議。但是隨著時間的推移,以及我的經驗的增長,我的想法開始有了變化。毫無疑問,stl 庫代表了程式效率和擴充套件性設計方面的乙個突破,但是當我開始真正使用stl 的時候,卻發現了許多我原來不可能注意到的實際問題。除了最簡單的stl 程式以外,要想移植乙個稍微複雜一點的stl 程式都會面臨各種各樣的問題,這不僅僅是因為stl 庫實現有各自的特殊之處,而且也是因為底層的編譯器對於模板的支援各不相同——有的支援非常好,但有的卻非常差。要獲得stl 的正確指南並不容易,所以,學習「stl 的程式設計方式」非常困難,即使在克服了這個階段的障礙之後,你要想找到乙份既容易理解又描述精確的參考文件仍然是一大困難。可能最沮喪的是,即使乙個小小的stl 用法錯誤,也常常會導致一大堆的編譯器診斷資訊,而且每一條診斷資訊都可能有上千個字元長,並且大多數會引用到一些在源**中根本沒有提到的類、函式或者模板(幾乎都很難理解)。儘管我對stl 讚賞有加,並且對stl 背後的人們更是欽佩無比,但是要向從事實際開發工作的程式設計師推薦stl 卻感到非常不舒服。因為,我自己並不確定要有效地使用stl 是否是可能的。

然後,我開始注意到了一些讓我非常驚訝的事情。儘管stl 存在可移植性問題,儘管它的文件並不完整,儘管編譯器的診斷資訊有如傳輸線上的雜訊一樣,但是,我的許多諮詢客戶正在使用stl。而且,他們並不只是把stl 拿來玩一玩,而是在用它開發實際的產品。這是乙個很重要的啟示。過去我知道stl 是乙個設計非常考究的模板庫,這時我逐漸感覺到,既然程式設計師們願意忍受移植性的麻煩、不夠完整的文件及難以理解的錯誤訊息,那麼這個庫除了良好的設計以外,一定還有其他更多的優勢。隨著專業程式設計師的數量越來越多,我意識到,即使是乙個很差的stl 實現,也勝過沒有實現。

更進一步,我知道stl 的境況正在好轉。c++庫和編譯器越來越多地遵從c++標準,好的文件也開始出現了,而且編譯器的診斷資訊也在改進

。因此我決定投身到這場stl 運動中,盡我的乙份微薄之力。本書就是我努力的結果:50 條有效使用stl 的經驗。

我原來的計畫是在1999 年的下半年寫作本書,腦子裡一直是這樣想的,並且也有了乙個提綱。但後來我改變了路線。我擱下了本書的寫作,而去開發一門有關stl 的引導性培訓課程,並且也教授了幾組程式設計師。大約一年以後,我又回到這本書的寫作上,並根據培訓課程中積累的經驗重新修訂了本書的提綱。就如同effective c++成功地以實際程式設計師所面臨的問題為基礎一樣,我希望本書也以類似的方式來面對stl 程式設計過程中的各種實際問題,特別是那些對於專業開發人員尤為重要的實際問題。

本文節選自《effective stl中文版》一書

潘愛民 陳銘 鄒開紅 著

電子工業出版社出版

《Effective STL中文版》前言

effective stl中文版 前言 我第一次寫關於stl standard template library,標準模板庫 的介紹是在1995 年,當時我在more effective c 的最後乙個條款中對stl 做了粗略的介紹。此後不久,我就陸續收到一些電子郵件,詢問我什麼時候開始寫effec...

Windows Home Server 中文版來了

簡體和正體中文版windows home server將在2008年下半年全面推出了!6月5日,windows home server產品部總經理charlie kindel在台灣宣布了這個訊息。此次中文版在台北computex展出,合作夥伴包括技嘉 gigabyte 威盛 via 啟基 wnc 和...

ilove中文 iLovePDF中文版

軟體介紹 ilovepdf是一款pdf檔案處理工具,可以幫助使用者對pdf檔案進行壓縮 拆分 合併 轉換 編輯等處理,還可以轉換成其它格式,支援pdf檔案瀏覽及加密,是一款很好的pdf檔案工具。軟體特色 離線操作 無需網路連線。你可以隨時隨地進行pdf檔案的壓縮 合併 拆分 轉換和編輯。輕鬆閱讀 使...