C++:STL標準入門彙總

50條忠告:

1.把C++當成一門新的語言學習;

2.看《Thinking In C++》,不要看《C++變成死相》;

3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因爲他們很難而我們自己是初學者所以就不看;

4.不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是集成開發環境,而我們要學的是一門語言;

5.不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;

6.會用Visual C++,並不說明你會C++;

7.學class並不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺餘力的博覽羣書;

8.如果不是天才的話,想學編程就不要想玩遊戲——你以爲你做到了,其實你的C++水平並沒有和你通關的能力一起變高——其實可以時刻記住:學C++是爲了編遊戲的;

9.看Visual C++的書,是學不了C++語言的;  

16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裏;

18.學習編程最好的方法之一就是閱讀源代碼;

19.在任何時刻都不要認爲自己手中的書已經足夠了;

20.請閱讀《The Standard C++ Bible》(中文版:標準C++寶典),掌握C++標準;

21.看得懂的書,請仔細看;看不懂的書,請硬着頭皮看;

22.別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍;

23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;

24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;

25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;

26.請看《程序設計實踐》,並嚴格的按照其要求去做;

27.不要因爲C和C++中有一些語法和關鍵字看上去相同,就認爲它們的意義和作用完全一樣;

28.C++絕不是所謂的C的“擴充”——如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯繫得那麼緊密;

29.請不要認爲學過XX語言再改學C++會有什麼問題——你只不過又在學一門全新的語言而已;

30.讀完了《Inside The C++ Object Model》以後再來認定自己是不是已經學會了C++;

31.學習編程的祕訣是:編程,編程,再編程;

32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》《面向對象軟件構造(Object-Oriented Software Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》; 

34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光盤中有源代碼;

35.把在書中看到的有意義的例子擴充;

36.請重視C++中的異常處理技術,並將其切實的運用到自己的程序中;

37.經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;

38.不要漏掉書中任何一個練習題——請全部做完並記錄下解題思路;

39.C++語言和C++的集成開發環境要同時學習和掌握;

40.既然決定了學C++,就請堅持學下去,因爲學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;

41.就讓C++語言的各種平臺和開發環境去激烈的競爭吧,我們要以學習C++語言本身爲主;

42.當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請儘快將餘下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計和編寫(參見43);

43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;

44.決不要因爲程序“很小”就不遵循某些你不熟練的規則——好習慣是培養出來的,而不是一次記住的;

45.每學到一個C++難點的時候,嘗試着對別人講解這個知識點並讓他理解——你能講清楚才說明你真的理解了;

46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;

47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX;

48.保存好你寫過的所有的程序——那是你最好的積累之一;

49.請不要做浮躁的人;

50.請熱愛C++!


C++頭文件一覽 
C、傳統 C++

#include <assert.h>    設定插入點
#include <ctype.h>    字符處理
#include <errno.h>     定義錯誤碼
#include <float.h>    浮點數處理
#include <fstream.h>   文件輸入/輸出
#include <iomanip.h>    參數化輸入/輸出
#include <iostream.h>   數據流輸入/輸出
#include <limits.h>    定義各種數據類型最值常量
#include <locale.h>    定義本地化函數
#include <math.h>     定義數學函數
#include <stdio.h>    定義輸入/輸出函數
#include <stdlib.h>    定義雜項函數及內存分配函數
#include <string.h>    字符串處理
#include <strstrea.h>   基於數組的輸入/輸出
#include <time.h>     定義關於時間的函數
#include <wchar.h>     寬字符處理及輸入/輸出
#include <wctype.h>    寬字符分類

標準 C++ 

#include <algorithm>     通用算法
#include <bitset>      位集容器
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>     複數類
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>      雙端隊列容器
#include <exception>    異常處理類
#include <fstream>
#include <functional>    定義運算函數(代替運算符)
#include <limits>
#include <list>       線性列表容器
#include <map>       映射容器
#include <iomanip>
#include <ios>      基本輸入/輸出支持
#include <iosfwd>    輸入/輸出系統使用的前置聲明
#include <iostream>
#include <istream>     基本輸入流
#include <ostream>     基本輸出流
#include <queue>       隊列容器
#include <set>       集合容器
#include <sstream>     基於字符串的流
#include <stack>      堆棧容器    
#include <stdexcept>    標準異常類
#include <streambuf>   底層輸入/輸出支持
#include <string>     字符串類
#include <utility>     通用模板類
#include <vector>     動態數組容器
#include <cwchar>
#include <cwctype>

C99 增加

#include <complex.h>  複數處理
#include <fenv.h>    浮點環境
#include <inttypes.h>  整數格式轉換
#include <stdbool.h>   布爾環境
#include <stdint.h>   整型環境
#include <tgmath.h>  通用類型數學宏

轉載自:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章