C 標準程式庫 筆記 第2章,第3章

2021-05-22 05:39:57 字數 1192 閱讀 4378

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...