仿函数、仿函数类、函数等

优质
小牛编辑
146浏览
2023-12-01

仿函数、仿函数类、函数等

无论喜欢或不喜欢,函数和类似函数的对象——仿函数——遍布STL。关联容器使用它们来使元素保持有序;find_if这样的算法使用它们来控制它们的行为;如果缺少它们,那么比如for_each和transform这样的组件就没有意义了;比如not1和bind2nd这样的适配器会积极地产生它们。

是的,在你看到的STL中的每个地方,你都可以看见仿函数和仿函数类。包括你的源代码中。如果不知道怎么写行为良好的仿函数就不可能有效地使用STL。由于这样的情况,本章的大部分专注于解释怎么使你的仿函数行为和STL期望的方式一样。但有一个条款,专注于不同的主题,那个条款肯定会受到因需要用ptr_fun、mem_fun和mem_fun_ref弄乱他们的代码而感到惊讶的人的关注。如果你喜欢,你可以从那个条款(条款41)开始,但请别以它为终止。一旦你了解了那些函数,你会需要剩下条款的信息来确认你的仿函数完全地配合它们和STL的其他部分。