C 標準庫讀書雜記四

2021-08-26 12:42:49 字數 1022 閱讀 5743

1.命名空間

std::cout<<

using std::cout;

cout <<

using namespace std;

cout<<

2.error and exception

base class :exception //

exception list:

bad_cast //dynamic_cast()

bad_typeid //typeid

bad_exception //unexpacted

invalid_argument 

length_error

future_error

range_error

overflow_error

underflow_error

bad_alloc

bad_weak_ptr

bad_function_call

涉及到的標頭檔案:、、、、、、、<>、<>、<>

異常類成員:介面 what();差錯碼、差錯狀態

exception_ptr 傳遞異常

void foo()

catch (...) }

//用於執行緒間傳遞

void bar()

}

3.callable object(可呼叫物件)

函式函式指標

lambda//就是個不具名的函式

std::bind(*func,arge[0]...);

std::async(*func,arge[0]...);

class std::function<>

4.併發與多執行緒

thread_local //定義執行緒特定物件和變數

防止標準庫引用的造成的衝突:指定為sharable without data races 、locking機制

併發唯讀訪問,原子操作都是同步的。

default allocator

C Primer 標準IO庫雜記

trunc 清空 include include includeusing namespace std istream io istream input cout stringstream 物件的乙個常見用法是,需要在多種資料型別之間實現自動 格式化時使用該類型別。例如,有乙個數值型資料集合,要獲取...

《C 標準程式庫》讀書筆記

泛型 why泛型 為了讓庫更一般化。比如find,可以將三樣東西都引數化 1 查詢物件的型別 2 該物件在資料結構中的組織方式 3 滿足某某條件地查詢 仿函式p127,294 what仿函式 定義了operator 的物件 why仿函式 1 使泛型演算法更一般化 2 仿函式有自己的獨特狀態 仿函式可...

《C 標準程式庫》讀書筆記(一)

1,很多編譯器都要求模板的定義和實現都在標頭檔案中,這是因為必須先為他提供某個實現品,然後才能呼叫,也只有如此才能通過編譯。目前唯一能讓 template 的運用 具有可移植性的方式,就是在標頭檔案中以 inline function 實現temlate function。2,下面typename ...