在C++中,仿函数不是一个函数,是一个类,这个类实现了函数的功能。

如果我想实现一个求和的功能:定义一个Sum类,让其中的()函数实现这个功能,代码如下:

class Sum {
public:Sum() = default;virtual ~Sum() {}int operator()(const vector<int>& nums) {long sum = 0;for (auto& item : nums) {sum += item;}return sum;}Sum(const Sum& src) = delete;Sum& operator=(const Sum& src) = delete;
};int main() {vector<int> v{2, 3, 4, 10};Sum s;int sum = s(v);std::cout << "sum =" << sum << std::endl;return 0;
}

结果如下:

C++ functor 仿函数相关推荐

  1. C++新特性探究(9.1):functor仿函数探究

    相关博文:C++新特性探究(九):functor仿函数 Functor 对象模拟函数   把类对象,像函数名一样使用.   仿函数(functor),就是使一个类的使用看上去像一个函数.其实现就是类中 ...

  2. C++新特性探究(九):functor仿函数

    相关博文:C++新特性探究(9.1):functor仿函数探究 仿函数技术难度不高,但对菜鸟来说侮辱性极强! 一. operator( )   重载了operator()的类的对象,在使用中,语法类似 ...

  3. IT英语2-编程词汇编程英语词汇

    IT英语2-编程词汇编程英语词汇 A2A integration A2A整合  abstract 抽象的  abstract base class (ABC)抽象基类  abstract class ...

  4. C++新特性探究(十):Lambda

    一. 匿名函数   简短函数,就地书写,调用.即Lambda存在的意义,常用于取代作回调用的简短函数指针与仿函数.   就地书写,因只有函数体,即无函数名,也称匿名函数. 格式 最小的 Lambda: ...

  5. 【转】软件开发常用术语

    软件开发技术常用术语 A.I. 人工智能 A2A integration A2A整合 abstract 抽象的 abstract base class (ABC)抽象基类 abstract class ...

  6. Java基础常见英语词汇

    "ctrl+F"输入关键字来查找 第一章: JDK(Java Development Kit) java开发工具包 JVM(Java Virtual Machine) java虚拟 ...

  7. 计算机常用英语单词对照

    第一部分.计算机算法常用术语中英对照 Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 ...

  8. 程序员必备英语单词清单

    目录 ----------------------A---------------------- ----------------------B---------------------- ----- ...

  9. 程序员英语再渣也要会的单词

    今天无聊的刷了会儿知乎,看到一篇 <每个程序员必须掌握的常用英语词汇>.大致看了看,还是有部分单词比较陌生的,证实了我英语渣的身份.废话不多说了.直接上单词了. A abstract 抽象 ...

最新文章

  1. pandas转mysql特定列_在pandas.DataFrame.to_sql时指定数据库表的列类型
  2. Vue 入门,Vue属性和指令
  3. 通俗易懂:贪心算法(三):习题练习 (力扣605种花问题、122买卖股票的最佳时机)
  4. linux LD_LIBRARY_PATH环境变量
  5. python的可变参数 *args 和关键字参数**kw
  6. 安卓menu页面跳转_微信安卓版7.0.14内测!“发现小程序”页面大改版
  7. Nandflash希尔特编程器烧录带来的一些点知识信息
  8. jsonschema php 例子,[宜配屋]听图阁
  9. animation 先执行一次 在持续执行_FANUC机器人:先执行指令功能/后执行指令功能介绍与使用方法...
  10. python监控网页内容变化_使用Python监控文件内容变化代码实例
  11. Python标准库中的io
  12. 如何强大且优雅的搞定Linux文件系统,值得一读!
  13. 第五章平稳过程(1)
  14. ANSYS18.2安装教程
  15. 【附干货】卸载CAD后将注册表清理干净的方法及步骤
  16. java汉字的编码_JAVA汉字编码问题
  17. 时间序列数据处理2——时间序列聚类算法
  18. 《领域驱动设计》学习笔记
  19. 【HDU4622】Reincarnation
  20. Redis 面试面面观

热门文章

  1. Servlet执行时要实现的方法
  2. Hadoop Hive概念学习系列之hive的数据压缩(七)
  3. 《计算机科学概论》—第3章3.3节文本表示法
  4. postgresql调优
  5. 每日英文2013.06.19
  6. ZEN CART 在LINUX系统下设置邮箱方法---用GMAIL设置,方法选择SMTPAUTH
  7. 想在创建虚拟机的时候指定ip调研
  8. Windows XP系统的“恢复”办法
  9. sql server 分页
  10. Flask--读取配置参数的方式