總概:
{
C:程式導向,以過程為中心,以演算法為驅動
}
{
C++:物件導向,以過物件中心,以訊息為驅動
個人理解:一切皆物件的思想
}
一 前言總概
1、常量變數
初始化物件與賦值是兩個概念
直接初始化:int a(12);高效
複製初始化:int a = 12;
內建型別差別不大,類型別大
2、變數作用域:全域性,區域性,語句作用域;(檔案作用域)C++多出:類作用域,名稱空間作用域
3、c++中struct和class唯一區別在於struct預設成員為public而class預設private
4、標頭檔案用來宣告和型別定義,const變數如果用常量表示式定義,標頭檔案中的同名const變數會被編譯器優化為字面值常量而不分配儲存空間;否則,最好用extern宣告。
5、問題:引用佔用記憶體空間嗎?作為函式形參的工作原理?
二 標準庫型別之string類
string vector bitset三大類
1、string類
1.1 初始化string物件
string s(2,`C`);其他方式和C++中內建型別一致
1.2 string物件的操作
1)empty size s[n]
2)關係操作符
> < == >= <=;
若兩個一長一短string物件作比較,前邊字元都匹配的話,則長string物件大於短string物件;
3)賦值操作符
4)加法操作符:即連線
+操作符左右運算元必須有一個為string型別物件;注意+操作符的結合性:左結合;
和字串字面值的連線。
5)從string物件獲取字元
string S();char c = S[S.size() – 1];
下標操作可用作左值:S[n] = `c`;
下標n可計算,為unsigned型就可,但注意:越界未定義;
C++中:<cctype>標頭檔案的函式可用來測試string物件的單個字元的屬性。注意區分C標準庫:<ctype.h>