C++ functor 仿函数
在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 仿函数相关推荐
- C++新特性探究(9.1):functor仿函数探究
相关博文:C++新特性探究(九):functor仿函数 Functor 对象模拟函数 把类对象,像函数名一样使用. 仿函数(functor),就是使一个类的使用看上去像一个函数.其实现就是类中 ...
- C++新特性探究(九):functor仿函数
相关博文:C++新特性探究(9.1):functor仿函数探究 仿函数技术难度不高,但对菜鸟来说侮辱性极强! 一. operator( ) 重载了operator()的类的对象,在使用中,语法类似 ...
- IT英语2-编程词汇编程英语词汇
IT英语2-编程词汇编程英语词汇 A2A integration A2A整合 abstract 抽象的 abstract base class (ABC)抽象基类 abstract class ...
- C++新特性探究(十):Lambda
一. 匿名函数 简短函数,就地书写,调用.即Lambda存在的意义,常用于取代作回调用的简短函数指针与仿函数. 就地书写,因只有函数体,即无函数名,也称匿名函数. 格式 最小的 Lambda: ...
- 【转】软件开发常用术语
软件开发技术常用术语 A.I. 人工智能 A2A integration A2A整合 abstract 抽象的 abstract base class (ABC)抽象基类 abstract class ...
- Java基础常见英语词汇
"ctrl+F"输入关键字来查找 第一章: JDK(Java Development Kit) java开发工具包 JVM(Java Virtual Machine) java虚拟 ...
- 计算机常用英语单词对照
第一部分.计算机算法常用术语中英对照 Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 ...
- 程序员必备英语单词清单
目录 ----------------------A---------------------- ----------------------B---------------------- ----- ...
- 程序员英语再渣也要会的单词
今天无聊的刷了会儿知乎,看到一篇 <每个程序员必须掌握的常用英语词汇>.大致看了看,还是有部分单词比较陌生的,证实了我英语渣的身份.废话不多说了.直接上单词了. A abstract 抽象 ...
最新文章
- pandas转mysql特定列_在pandas.DataFrame.to_sql时指定数据库表的列类型
- Vue 入门,Vue属性和指令
- 通俗易懂:贪心算法(三):习题练习 (力扣605种花问题、122买卖股票的最佳时机)
- linux LD_LIBRARY_PATH环境变量
- python的可变参数 *args 和关键字参数**kw
- 安卓menu页面跳转_微信安卓版7.0.14内测!“发现小程序”页面大改版
- Nandflash希尔特编程器烧录带来的一些点知识信息
- jsonschema php 例子,[宜配屋]听图阁
- animation 先执行一次 在持续执行_FANUC机器人:先执行指令功能/后执行指令功能介绍与使用方法...
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- Python标准库中的io
- 如何强大且优雅的搞定Linux文件系统,值得一读!
- 第五章平稳过程(1)
- ANSYS18.2安装教程
- 【附干货】卸载CAD后将注册表清理干净的方法及步骤
- java汉字的编码_JAVA汉字编码问题
- 时间序列数据处理2——时间序列聚类算法
- 《领域驱动设计》学习笔记
- 【HDU4622】Reincarnation
- Redis 面试面面观