当前位置: 首页 > article >正文

C++ ——— 仿函数

目录

何为仿函数

仿函数和模板的配合使用


何为仿函数

代码演示:

class Add
{
public:
	int operator()(int x, int y)
	{
		return x + y;
	}
};

这是一个 Add 类,类里面有一个公有成员函数重载,重载的是括号

那么调用的时候:

Add add;

cout << add(3, 5) << endl;

调用 Add 类中的函数重载时,就像是 add 是一个函数名,而括号中是参数,但是并不是如此

add 是一个类,第二行调用的本质是:

cout << add.operator()(3, 5) << endl;

代码验证:

类似于这种类而调用的函数重载的形式就叫做仿函数


仿函数和模板的配合使用

代码演示:

template<class T>

class Add
{
public:
	T operator()(const T& x, const T& y)
	{
		return x + y;
	}
};

这时的仿函数就能根据不同的变量来使用

代码验证:

原文地址:https://blog.csdn.net/weixin_55341642/article/details/145393622
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/525078.html

相关文章:

  • 【2024年华为OD机试】(B卷,100分)- 模拟消息队列 (JavaScriptJava PythonC/C++)
  • FreeRTOS从入门到精通 第十三章(信号量)
  • Linux 信号驱动IO
  • 基于Springboot的健身房管理系统【附源码】
  • es6中关于let的使用以及案例,包括但不限于块级作用域,不允许重复声明,没有变量提升,暂存性死区,不与顶层对象挂钩
  • [SUCTF 2018]MultiSQL1
  • 微博热搜时光机逆向(js逆向)
  • 【力扣系列题目】最后一块石头的重量 分割回文串 验证回文串 等差数列划分{最大堆 背包 动态规划}
  • SSM总结
  • SpringBoot项目创建
  • 10.6.4 Json文件操作
  • RocketMQ原理—4.消息读写的性能优化
  • 高速PCB设计指南2——PCB设计的信号完整性
  • 【深度学习】softmax回归
  • Java—工具类类使用
  • 为什么机器学习中梯度下降是减去斜率,而不是按照其数学意义减去斜率的倒数
  • Java教程练习:学生信息管理系统
  • [STM32 - 野火] - - - 固件库学习笔记 - - -十三.高级定时器
  • 【AutoSar】汽车诊断标准协议UDS详解
  • 常见的同态加密算法收集