摘要: std::bind1st 和 std::bind2nd将二元函数转换为一元函数,具体用法参加下面的代码。 代码介绍了两种使用方式,第一种是使用std::less和std::greater,第二种是使用自定义的仿函数。 copy_if: std::bind1st std::binder1st std: 阅读全文
posted @ 2016-12-23 23:02 任智康 阅读(14079) 评论(0) 推荐(5) 编辑
摘要: 简单来将,仿函数(functor)就是一个重载了"()"运算符的struct或class,利用对象支持operator()的特性,来达到模拟函数调用效果的技术。 我们平时对一个集合类遍历的时候,例如vector,是这样做的: for(vector<int>::const_iterator iter 阅读全文
posted @ 2016-12-23 22:53 任智康 阅读(10288) 评论(0) 推荐(0) 编辑
摘要: 我们直接看定义: 一元函数:接受一个参数的函数,如f(x)。 一元谓词函数:如果一元函数返回一个BOOL类型的值,则该函数称为谓词。 二元函数:接受2个参数的函数,如f(x,y)。 二元谓词函数:如果二元函数返回一个BOOL值,则该函数称为二元谓词。 之所以给返回布尔类型的函数对象专门命名,是因为谓 阅读全文
posted @ 2016-12-23 21:50 任智康 阅读(1898) 评论(0) 推荐(0) 编辑
摘要: Technical Report 1不是正式的库只是一个草案,作为C++ 2003标准的附加库被大多数编译器厂商所支持,它是个过渡性质的库,其实现将会作为C++11标准的一部分。很多编译器对C++11的支持在其内部实现中对相关功能的处理实际上就是用的之前其对Technical Report 1的实现 阅读全文
posted @ 2016-12-23 09:37 任智康 阅读(413) 评论(0) 推荐(0) 编辑