STL算法设计理念 - 函数适配器

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL算法设计理念 - 函数适配器相关的知识,希望对你有一定的参考价值。

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算法设计理念 - 函数适配器的主要内容,如果未能解决你的问题,请参考以下文章

The Annotated STL Sources

STL算法设计理念 - 谓词,一元谓词demo

STL算法设计理念 - 函数对象和函数对象当參数和返回值

STL 简介

C++ STL学习 —— 模板泛型算法函数对象lambda 表达式(参数捕获)函数适配器

C++ STL学习 —— 模板泛型算法函数对象lambda 表达式(参数捕获)函数适配器