自从在使用 std::thread 构造函数过程中遇到了 Callable 类型的概念以来用到了很多关于它的使用.
因此本文把使用/调查结果总结出来....例如函数对象(狭义), 函数指针, lambda 匿名函数, 函数适配器, std::function 仿函数等....最典型的便是 STL 里了. C++ 的 STL 中的众多 algorithm, 非常依赖于函数对象处理容器的元素....想按照 STL 算法里的要求实现其功能要提供一些函数对象作为参数, 即谓词参数(predicate)....作为 STL 算法函数谓词参数:
std::vector myvec{ 3, 2, 5, 7, 3, 2 };
std::sort(myvec.begin(), myvec.end(), []