程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 對於C++標准庫進行說明了解

對於C++標准庫進行說明了解

編輯:C++入門知識

C++標准庫的那些奇技淫巧也並非空穴來風,總有時候會需要用到的。但是你不需要預先把C++的所有細節和技巧存在腦子裡才能夠去編程,下面進行學習介紹。

標准庫中提供了C++程序的基本設施。雖然C++標准庫隨著C++標准折騰了許多年,直到標准的出台才正式定型,但是在標准庫的實現上卻很令人欣慰得看到多種實現,並且已被實踐證明為有工業級別強度的佳作。

1、Dinkumware C++ Library
參考站點:http://www.dinkumware.com/P.J. Plauger編寫的高品質的標准庫。P.J. Plauger博士是Dr. Dobb's程序設計傑出獎的獲得者。

其編寫的庫長期被Microsoft采用,並且最近Borland也取得了其OEM的license,在其C/C++的產品中采用Dinkumware的庫。

2、RogueWave Standard C++ Library
參考站點:http://www.roguewave.com/這個庫在Borland C++ Builder的早期版本中曾經被采用,後來被其他的庫給替換了。筆者不推薦使用。

3、SGI STL
參考站點:http://www.roguewave.com/SGI公司的C++標准模版庫。

4、STLport
參考站點:http://www.stlport.org/SGI STL庫的跨平台可移植版本。

也就是說,隨便你拿起哪本C++書籍包括很多被人們廣泛稱為“必讀經典”的),那麼有很大的可能這本書中的內容不是你應該學的,而是你不應該學的。我之所以這麼說有兩個原因,因為一,我曾經是受害者。二,也是更實質性的原因,這些所謂的必讀經典,充斥的是介紹C++中的陷阱和對於C++的缺陷的各種workarounds好聽一點叫Idioms慣用法)或techniques技術));

又因為C++中的這類陷阱和缺陷實在數不勝數,所以就拉出了一個“長尾”;這類書籍在所有語言中都存在“C++標准庫缺陷和陷阱”、“Effective Java”、“Effective C#”等等),然而在C++裡面這個尾巴特別長,導致這類書數不勝數。

三,這些書中列出來的缺陷和陷阱根本不區分常見程度,對於一個用本程序員來說,應該希望看到“從最常見的問題到最不常見的問題”這樣的順序來羅列內容,然而這些書裡面要麼全部混在一起,要麼按照“資源管理、類設計、泛型”這樣的技術分類來介紹內容。

這根本毫無幫助如果我看到一個章節的內容,我當然知道它講的是類設計還是資源管理,還用廢話麼?),使得一個學習者無法辨別並將最重要的時間花在最常見的問題之上。

  • 淺析C++編譯器怎樣實現異常處理問題
  • 深度了解C++編程技巧說明介紹
  • 大致介紹C++語言相關使用及其錯誤修改
  • 分析C++程序編程說明與學習
  • 闡述增強Visual C++開發環境的功能

最最關鍵的是:這些書當中介紹的內容與成為一個好程序員根本毫無關系,它們頂多只能告訴你——嗨,小心跌入這個陷阱。或者告訴你——嗨,你知道當你八輩子都不一定遇到)遇到這個需求的時候,可以通過這個技巧來得以解決嗎?

結果讀了一本又一本之後,你腦袋裡除了塞滿了“禁止”、“警戒”、“燈泡”符號之外,真正的編程素質卻是一無長進。又或者有這樣一類書,熱衷於解釋語言實現背後的機制,然而語言特性本質上是干嘛用的?是用來在實際編碼中進行抽象的說得好聽一點就是“設計”),不是用來告訴你這個特性是怎麼支持的。比如我就見過以下的情景:面試官問:“你知道虛函數嗎?”得到的回答是一堆關於虛函數表機制的解釋。

面試官又問:“那虛函數的好處是什麼呢?”到底為什麼要虛函數呢?C++標准庫得到的回答是:“恩…啊…就是…多態吧”這時已經覺得回答不夠深刻了)。再問:“那多態是干嘛的呢?”啞口無言。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved