欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

轻松入门C++ STL:深度解析仿函数及其优势

最编程 2024-01-12 14:44:20
...

如果可以用仿函数实现,那么你应该用仿函数,而不要用CallBack。原因在于:

  • 仿函数可以不带痕迹地传递上下文参数。而CallBack技术通常使用一个额外的void*参数传递。这也是多数人认为CallBack技术丑陋的原因。

  • 仿函数技术可以获得更好的性能,这点直观来讲比较难以理解。

仿函数作用

仿函数通常有下面四个作用:

  • 作为排序规则,在一些特殊情况下排序是不能直接使用运算符<或者>时,可以使用仿函数。
  • 作为判别式使用,即返回值为bool类型。
  • 同时拥有多种内部状态,比如返回一个值得同时并累加。
  • 作为算法for_each的返回值使用。