C 泛型程式設計總結(二)

2021-07-10 22:11:44 字數 1506 閱讀 3761

目錄:

7.插入insert()的變形

8.function object

9.設計泛型演算法function object adapter與insertion adapter

10.關聯容器map和set

11.iostream iterator

7.插入insert()的變形

8.function object

例子:sort(vec.begin(),vec.end(),greater());

9.設計泛型演算法function object adapter與insertion adapter

以下例子不僅展示bind2nd,也展示filter()

消除:1.容器型別,2.元素型別,3.「比較操作」引數化,使得同時支援函式指標和fun object,4.可自定義比較操作

templateoutputiterator filter(inputiterator first,inputiterator last,

outputiterator outstorage,const elemtype& value,comp pfunction)

附註:filter()的引數中,outstorage用於存filter後的元素,若不想【事先定義】容器的大小,可以用

insertion adapter,但不能用在array上

//filter的寫法不變

#includevectorivec2;

filter(vec.begin(),vec.end(),back.begin(),back_inserter(ivec2),8,greater());

10.關聯容器map和set

注意這兩個容器都是基於紅黑樹的,要實現時間複雜度為log(k)的插入刪除操作,可以利用這兩個容器

(1)map

(2)set

11.iostream iterator

認識就好了,這種輸入還好,輸出有些侷限

#include#include#include#include#includeusing namespace std;

int main()

從檔案中讀寫

#includeifstream infile("input_file.txt");

ofstream outfile("output_file.txt");

if(!infile || !outfile)

istream_iteratoris(infile);

c 泛型程式設計

對於兩個不同的概念a和b,如果概念a所需求的所有功能也是概念b所需求的功能,那麼就說概念b是概念a的子概念。例如 標準模板庫 standard template library,簡稱stl 提供了一些非常常用的資料結構和演算法 將函式物件作為演算法的引數而不是將函式所執行的運算作為演算法的一部分。使...

C 泛型程式設計

1.模板介紹 泛型程式設計 指的是直接應用 使用模板編寫好的函式模板或類模板庫程式 進行程式設計。在具體使用時,程式設計師只需向使用的庫函式或類模板提供型別或值即可。模板是泛型程式設計的基礎。比如使用標準模板庫中的容器 迭代器進行程式設計,就是泛型程式設計。模板函式 模板函式 強調的是函式,函式使用...

C 中的泛型程式設計總結

今天總結了一下的c 泛型程式設計,就覺得其實c 中的所謂的泛型程式設計和c 中相對應的模版 泛型設計的功能和機制是很相似的,在c 中有 函式模版 和 類模版 而在c 中則有相應的 泛型方法 和 泛 型類 a 先說說 泛型方法 吧,c 中的泛型方法是指使用了型別引數的方法成員,for example ...