2.2.1
typename的作用:
t::subtype 表示型別t中的乙個靜態變數
typename t::subtype 表示t中的乙個子型別
成員函式模板可以放寬引數的檢查範圍
建構函式模板可以在複製物件時實現隱式型別轉換。
2.2.2
int i = int();
2.2.4
koenig lookup規則:如果某個函式的引數型別和函式處在同樣的namespace中,那麼可以
不必為該函式指定namespace
2.2.6
myclass t(3);
myclass t = 3;
兩者的不同之處:如果建構函式是explicit的,第二句就不能使用。
2.2.7
static_cast
可以是語言內建的規則,也可以是自定義的轉換。
dynamic_cast
在執行期執行的轉換,支援這個操作的類中必須有virtual方法
把父類的指標轉換為子類的指標,如果轉換失敗,返回0
把父類的引用轉換為子類的引用,如果轉換失敗,丟擲bad_cast異常
const_cast
設定或去除const, volatile
reinterpret_cast
2.2.8
類中的靜態常量成員可以在類中初始化,不必在類外定義(這點書中好像有點問題)。
3.3.1
異常:exception->bad_alloc
->bad_cast
->bad_typeid
->logic_error->domain_error
->invalid_argument
->length_error
->out_of_range
->ios_base::failure
->runtime_error->range_error
->overflow_error
->underflow_error
->bad_exception
所有異常類有乙個公共方法:const char *what() const;
3.3.4
使用異常的方式:
(1).從exception繼承,並實現what()函式
(2).從標準異常(如out_of_range)繼承,不用實現what()函式
《C 標準程式庫》 第4章 通用工具
第1 3章 略 std pair 是乙個 struct 定義於 bits stl pair.h 檔案中,被包含進 標頭檔案中。std make pair 42,相當於 std pair 42,std pair p std make pair 42,3.3 42,3 任何函式需要返回兩個值,必須使用 ...
第3章 標準庫型別 2
3.2.3 string物件的操作 1.string的size和empty操作 string物件的長度指的是string物件中字元的個數,可以通過size操作獲取。string str anders cout str.size endl empty 成員函式將返回bool值,如果string物件為空...
第3章 標準庫型別
1.寫出string型別的五種初始化方法 string str string str value string str str2 string str n,c string str iterator1,iterator2 2.如何對string物件進行讀寫操作,如何讀入未知數目的string物件?i...