1.C++中須要寫int main()不能只是main()ios
2.main()函數裏面最後有一個return 0;函數
3.main()被啓動代碼調用,而啓動代碼是編譯器添加到程序中的,是程序和操做系統的橋樑。測試
4.C++中main()中的括號空着與void是等效的,都表明不接受參數,在C中是不等效的,括號中空着沒有參數表明對是否接受參數保存沉默。spa
1.#include <iostream>這句預處理在源代碼編譯以前把iostream文件的內容添加到程序中,也就是把源代碼和iostream組合成一個複合文件,而後再進行編譯。操作系統
2.include文件也叫頭文件,由於通常包含再文件的開頭位置。指針
1.能夠消除因重名而致使的命名衝突。索引
2.域解析操做符ci
3.using聲明只對名字空間某一項起做用。字符串
4.using namespace能夠聲明所有項get
2.4輸入輸出
1.cin表明標準輸入,cout表明標準輸出,cerr表明標準出錯,其中cout是帶緩衝的,cerr不帶緩衝,但二者都是打印到屏幕。
2.cin會自動忽略空格,可是char也會忽略空格,以eof結束。
3.操縱符的使用,除了setw外,其餘操縱符一旦使用將永久改變輸入輸出的狀態,直到下一個操縱符對其進行改變。
1.必須包含頭文件fstream,cin用ifstream代替,cout用ofstream代替。例如定義ifstream infile,可使用file.open來打開指定的文件。
2.文件使用結束後記得關閉文件,file.close來關閉文件。
3.能夠測試文件的打開狀態if (infile)
1.強制類型轉換:static_cast,const_cast,dynamic_cast,reinterpret_cast
2.常數 const
3.數據類型bool:全部的關係操做符、相等操做符和邏輯操縱符都產生bool類型的結果值,而不是int類型。整數和指針表達式在須要的時候也能夠產生bool類型的結果。好比cin << val; if (val){};操縱符boolalpha能夠用來輸出ture或false,反之可用noboolalpha來輸出0或1。
4.枚舉類型enum,主要用途是定義常量
5.定義變量:C++中能夠在使用變量前進行聲明和定義。
6.結構:C++中能夠不用struct,同時能夠包含數據成員、函數的實體等。
1.無需處理null結束符,由系統自動處理,與c語言不同。
2.轉換c語言風格的字符串用函數c_str()
3.getline
4.可使用+或+=來進行字符串的拼接
5.修改字符串使用erase,插入字符串可使用insert,替換字符串用replace,調換兩個字符串可使用swap,提取子串用substr,查找子串用find,字符串比較用操做符便可,好比==,!=,>=,<=
1.函數原型:
2.引用:
3.內聯函數:
4.函數默認參數
5.函數重載
6.函數簽名
1.C++裏面的new和delete跟C語言的malloc和free相似,可是C++中的new和delete不是庫函數而是內建的操做符,而且是關鍵字。
2.int_ptr =new int; delelte int_ptr;或者int_ptr = new int[50]; delete[] int_ptr
3.不用把new和delete與malloc和free函數混合使用。
1.例外是由運行時錯誤致使的異常狀況,好比索引越界或者new請求失敗等。
2.拋出例外是在例外發生後,而後能夠經過catch這個例外捕捉器來進行處理。
3.例外和不一樣捕捉器之間的匹配是經過類型斷定來進行的。
4.catch程序塊能夠包含一個參數或者由於特定類型的例外而直接輸入catch程序塊中。
5.try程序塊、catch程序塊、trow機制。
1.無名名字空間:相似C語言中的static,可使得一個頂層函數不能再定義該函數的文件外訪問。只有與無名名字空間裏面的函數在同一個文件才能夠調用。
2.無名聯合
3.成員選擇符:—>,*