1. 程式人生 > >STL算法設計理念 - 函數適配器

STL算法設計理念 - 函數適配器

二元謂詞 value sdn 使用 後者 取反器 一個 轉換 技術分享

1)函數適配器的理論知識

技術分享

技術分享

技術分享

技術分享

2)經常使用函數函數適配器
標準庫提供一組函數適配器,用來特殊化或者擴展一元和二元函數對象。經常使用適配器是:
1、綁定器(binder): binder通過把二元函數對象的一個實參綁定到一個特殊的值上。將其轉換成一元函數對象。

C++標準庫提供兩種提前定義的binder適配器:bind1st和bind2nd。前者把值綁定到二元函數對象的第一個實參上,後者綁定在第二個實參上。



2、取反器(negator) : negator是一個將函數對象的值翻轉的函數適配器。標準庫提供兩個提前定義的ngeator適配器:not1翻轉一元提前定義函數對象的真值,而not2翻轉二元謂詞函數的真值。
經常使用函數適配器列表例如以下:
bind1st(op, value)
bind2nd(op, value)
not1(op)
not2(op)
mem_fun_ref(op)
mem_fun(op)
ptr_fun(op)

STL算法設計理念 - 函數適配器