本文總結了幾個好的C++網站,以及C++方面的經典書籍。所列書籍或標準能夠到這裏找找電子版。html
wikipedia關於C++有關條目,注意看後面「參考文獻」和「外部連接」:c++
C++ programming language:介紹C++算法
C++ Standard Library:C++標準庫,介紹了全部51個頭文件編程
C++ STL:STL是C++標準庫的一部分(也有人用STL表示C++標準庫)設計模式
Boost (C++ libraries):被稱爲準標準庫,C++11標準庫不少是採納Boost庫的ide
Outline of C++:列舉了和C++相關的概念,如「一次定義準側」、「元編程」函數
C++學習參考網站:學習
cplusplus.com:查庫函數特方便,有示例代碼測試
cppreference.com:致力於提供convenient version of the C and C++ standards網站
learncpp.com:一個C++教程
cs.stmarys.ca/~porter/:有C++標準庫快速預覽文章
Bjarne Stroustrup:C++之父的主頁
The C++ Standards Committee:C++標準委員會
Standard C++ Foundation:標準C++基金會
boost.org:Boost庫主頁
C++的經典書籍(一個網站作了很好的列舉):
Programming -- Principles and Practice Using C++, Bjarne Stroustrup, 2008,有中文譯本:C++程序設計原理與實踐
The C++ Programming Language (4th Ed), Bjarne Stroustrup, 2013,舊版有中文譯本:C++程序設計語言
C++ Primer (5th Ed), Stanley Lippman et al., 2012,有中文譯本
Inside The C++ Object Model, Stanley Lippman, 1996,有中文譯本:深度探索C++對象模型
Effective C++, Scott Meyers,還有More Effective C++,有中文譯本
Exceptional C++, Herb Sutter,More Exceptional C++,有中文譯本
The C++ Standard Library -- A Tutorial and Reference (2nd Ed), Nicolai M. Josuttis, 2012,舊版有中文譯本:C++標準程序庫
C++ Templates -- The Complete Guide, Vandevoorde David, 2002,有中文譯本:C++ Templates中文版
C++ Template Metaprogramming -- Concepts, Tools, and Techniques from Boost and Beyond, Abrahams David et al., 2004,有中文譯本:C++模板元編程
C++標準(C++標準的進程見標準C++基金會):
ISO/IEC 14882:1998(C++98)
ISO/IEC 14882:2003(C++98修訂,建議參考)
ISO/IEC 14882:2011(C++11)
C語言相關:
ISO/IEC 9899:1990(經典C語言)
ISO/IEC 9899:1999(俗稱C99)
The C Programming Language (2nd Ed), Dennis M. Ritchie et al., 1988,有中文譯本:C程序設計語言
面向對象相關:
UML Distilled -- A Brief Guide to the Standard Object Modeling Language (3rd Ed), Martin Fowler, 2003,有中文譯本:UML精粹:標準對象建模語言簡明教程
Design Patterns -- Elements of Reusable Object-Oriented Software, Erich Gamma et al., 1994,有中文譯本:設計模式--可複用面向對象軟件的基礎
Object-Oriented Analysis & Design -- Understanding System Development with UML 2.0, Mike O'Docherty, 2005,有中文譯本:面向對象分析與設計
計算理論、算法:
Introduction to the Theory of Computation (3rd Ed), Michaael Sipser, 2012,舊版有中文譯本:計算理論導引
Introduction to Algorithms (3rd Ed), Thomas H.Cormen et al., 2009,有中文譯本:算法導論
C++編程練習:
C++的學習應該以編程訓練爲主,這應該都認同吧。若是以爲沒有C++編程練習的途徑,我給你推薦一個:OJ,全稱Online Judge,中文叫作在線測評系統。有不少問題,你來編程解決,它在線線測試你程序運行結果正確性,通常還附加程序運行時間和內存消耗限制(通常是1秒和1MB)。對同問題的不一樣解決代碼,會用運行時間和消耗內存排名。大名鼎鼎的ACM程序設計競賽(ACM International Collegiate Programming Contest,ACM-ICPC)就採用相似形式。下面是幾個有名的OJ,題目的難度從天才級到A+B級都有:
Baylor University OJ (該大學是ACM-ICPC總部,上面有ACM-ICPC題)
UVa Online Judge(配合《算法競賽入門經典--訓練指南》(劉汝佳等,清華大學出版社,2012))
點擊「Problems」瀏覽題目,「Submit」提交代碼,註冊帳號開始挑戰吧~