STL原始碼剖析筆記 第八章

2021-09-26 11:49:18 字數 1152 閱讀 6862

配接器:將乙個class的介面轉換為另乙個class的介面,使原本因介面不相容而不能合作的classes可以一起運作

改變仿函式介面者稱為function adapter,改變容器介面者,稱為container adapter改變迭代器介面者,稱為iterator adapter

每乙個insert iterators內部都維護乙個容器(必須由使用者指定),容器當然有自己的迭代器,於是,當客戶端對insert iterators做賦值(assign)操作時,就在insert iterators中被轉為對該容器的迭代器做插人(insert)操作,也就是說,在insert iterators的operator = 操作符中呼叫底層容器的push_front() 或 push-back0或insert()操作函式。至於其它的迭代器慣常行為如operator++,operator++(int),operator*都被關閉功能,更沒有提供operator–,operator–(int),operator->等功能(因此被型別被定義為output_iterator_tag)。換句話說,insert iterators的前進、後退、取值、成員取用等操作都是沒有意義的,甚至是不允許的。

template<

class

container

>

inline back_insert_iterator

back_inserter

(container& x)

類似的,有front_inserter

(container& x) 和 inserter

(container& x,iterator i)函式

對返回值進行邏輯否定,乙個是用於一元運算子,乙個用於二元運算子

bind1st,bind2nd

將某個adaptable binary function轉換為unary function,繫結第一引數或第二引數

雖然多型可以對pointer或reference起作用,但是stl容器值支援「實值語意」,不支援「引用語意」

所以vectorv可以通過編譯而vectorv不行

第八章(筆記)

能在 中進行記憶體單元的定址的暫存器只有4個,分別是bx si di bp 其中bx bp 是基址,bx對應的段位址是ds,bp對應的段位址是ss si di 是變址,單獨使用時段位址是ds,組合使用段位址是跟隨組合的基址對應的段位址 中進行記憶體單元定址彙總 si di bx bp 常量 si 常...

第八章 指標 第八章 指標

1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...

c primer Plus第八章筆記

該書應從8章之後開始學習 現在開始第8章 p199 字元輸入輸出 緩衝區 是乙個存放內容的臨時儲存區域 為什麼要設定緩衝區 一 將若干個字元作為乙個塊進行傳輸比逐個傳送這些字元耗時少。二 如果輸入了乙個錯的字元,可以用鍵盤的更正功能進行修改。當按下回車鍵的時候就傳送輸入的字元。但是,互動性的程式需要...