一、若是反斜槓\後面跟着的八進制數字超過3個,只有前3個數字與\構成轉義序列。例如\123app
二、一樣的\x要用到後面跟着的全部數字。\x12346213函數
三、變量只能定義一次,可是能夠被屢次聲明。this
四、指針和引用的區別:spa
1)引用是另外一個對象的別名,而指針自己就是一個對象。指針
2)引用必須初始化,而且一旦定義了引用就沒法再綁定到其餘對象。而指針無須在定義時賦初值,也能夠從新賦值讓其指向其餘對象。對象
五、getline(cin, word)函數遇到空格符不會中止,輸入一行數據,即遇到換行符結束,字符串word不包括換行符。ci
六、string a("hello"); for (auto &c, str); 意思是循環遍歷字符串a的每一個字符。存儲在c中,自動初始化爲下一個字符。作用域
七、vector和string對象的下標運算符可用於訪問已存在的元素,而不能用於添加元素。字符串
八、int &val = 10; (錯誤,引用只能綁定在對象上,而不能與某個字面值或表達式的計算結果綁定在一塊兒)get
const int val = 10; (正確,容許一個常量引用綁定很是量對象、字面值、甚至是個通常表達式)
九、重複聲明例子(錯誤):
Record lookup(Phone a)
Record lookup(const Phone a)
Record lookup(Phone *a)
Record lookup(const Phone a)
Record lookup(Phone &a)
Bool lookup(const Phone a)
對於接受指針或引用的函數來講,對象是很是量仍是常量對應的形參不一樣。(構成重載)
Record lookup(Account &a)
Record lookup(const Account &a)
Record lookup(Account *a)
Record lookup(const Account *a)
十、聲明函數時,一旦某個形參被賦予了默認值,那麼它以後的形參都必需要有默認值。
十一、局部變量不能做爲默認實參。(static靜態數據成員一樣不能做爲默認實參)
sz wd = 80; char def = ' '; sz = ht();
string screen(sz = ht(); sz = wd; char = def);
void f2()
{
def = '*'; //改變了默認實參的值
sz wd = 100; //隱藏了外部定義的wd,可是沒有改變默認值,由於是新建立的局部變量,沒法改變默認值。
window = screen(); //調用screen(ht(), 80, '*')
}
十二、封裝的優勢:
一、確保用戶代碼不會無心間破壞封裝對象的狀態。
二、被封裝的類的具體實現細節能夠隨時改變,而無需調整用戶級別的代碼。
1三、一個const成員函數若是以引用的形式返回*this,那麼它的返回類型將是常量引用。
1四、關聯容器(與順序容器的本質區別在於:關聯容器是經過鍵(key)存儲和讀取元素的,而順序容器則經過元素在容器中的位置順序存儲和訪問元素。
1五、在順序容器中能夠用c.front()和c.back()分別以返回引用的形式訪問容器的頭元素和尾元素。(注意使用前須要檢驗容器是否爲空,即 !c.empty())。
1六、若是往容器中調用insert(給定位置begin,值vec)函數,會在begin的位置以前插入值vec,並返回新增值位置。
而erase()函數則是返回擦除元素的下一位迭代器。
1七、s.substr(pos, n)返回一個string,包含s中從pos開始的n個字符的拷貝。
s.append("good")將「good」追加到字符串末尾。
s.replace(pos, n, 「good」)把字符串s中的pos位置開始的3個字符替換成候選字符串「good」。
1八、拷貝初始化發生的條件:
a.咱們在使用=號定義變量時。
b.將一個對象做爲實參傳遞給一個非引用類型的形參。
c.從一個返回類型爲非引用類型的函數返回一個對象。
d.用花括號列表初始化一個聚合類中的成員。
e.初始化標準容器庫或調用其insert()或push_back()函數。
1九、在一個構造函數中,成員的初始化是在函數體執行以前完成的,且按照成員在類中出現的順序進行初始化。
在一個析構函數中,首先執行函數體,而後銷燬成員。成員按照初始化的順序逆向銷燬。
20、當指向一個對象的引用或指針離開做用域時,析構函數不會執行。
2一、StrblobPtr& operator++(); 前置運算符,返回對象的引用。
StrblobPtr operator++(int); 後置運算符返回對象的值。(int 用來區別前置和後置運算符)
2二、#define swap(x,y)\ swap(x,y)\
x = x^y;\ (x) = (x) + (y);\
y = x^y;\ (y) = (x) - (y);\
x = x^y; (x) = (x) - (y);