首页 > 其他分享 >实现function

实现function

时间:2023-09-26 18:44:48浏览次数:29  
标签:function ... pfunc 实现 PFUNC template myfunction

实现function

需要先声明template class myfunction;下面做特例化template<typename R, typename... A> 需要

#include <iostream>
#include <functional>
using namespace std;

template <typename Signature>
class myfunction;

template<typename R, typename... A>				//可变参模板
class myfunction<R(A...)>
{
public:
	using PFUNC = R(*)(A...);								//需要一个函数指针
	myfunction(PFUNC pfunc) :_pfunc(pfunc) {}//使用传入的函数
	R operator()(A... arg) {									//重载operator()
		return _pfunc(arg...);
	}
private:
	PFUNC _pfunc;
};

void print1(int a) {
	cout << a << endl;
}

void print2(string s) {
	cout << s << endl;
}

int main() {
	myfunction<void(int)> fun1 = print1;
	myfunction<void(string)> fun2 = print2;
	fun1(999);		//打印999
	fun2("hello");	//打印hello
}

标签:function,...,pfunc,实现,PFUNC,template,myfunction
From: https://www.cnblogs.com/KongJiBlogs/p/17730911.html

相关文章

  • 记录--前端实现并发请求限制
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言前两天我的新同事告诉我一个困扰着他的问题,就是低代码平台中存在很多模块,这些模块的渲染是由模块自身处理的,简言之就是组件请求了自己的数据,一个两个模块还好,要是一次请求了几十个模块,就会出现请求阻塞的问题......
  • 质量高的代理IP是怎么实现网络信息安全的保护?它能够协助开展哪些应用?
    随着科技的发展,人们在访问站点的时候有可能会因为触发安全机制导致ip受限,一般可以使用代理ip来访问站点,灵活的切换也不至于受限。但是它还可以保护人们上网时的网络信息的安全,小编接下来就跟大家介绍介绍:1、距离上使用与目标站点想接近的代理ip,能快速的访问目标服务器,提升访问速度,......
  • gunicorn dango nginx 实现同时处理并发请求
    项目是采用 gunicorndangonginx方式部署的。gunicorn.py采用如下方式配置,workers=1bind='0.0.0.0:8000'backlog=2048timeout=6000keepalive=6000errorlog='../error.log'loglevel='info'logFile='../sys.log'accesslog=......
  • EasyExcel实现excel文件重复多次写入和导出&下载文件
    一、EasyExcel实现excel文件的导出官方文档导入依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>o......
  • vue3 + mark.js | 实现文字标注功能
    页面效果具体实现新增1、监听鼠标抬起事件,通过window.getSelection()方法获取鼠标用户选择的文本范围或光标的当前位置。2、通过选中的文字长度是否大于0或window.getSelection().isCollapsed(返回一个布尔值用于描述选区的起始点和终止点是否位于一个位置,即是否框选了)来......
  • 【vue2】实现数字纵向滚动效果(计时器效果)
    需求:在页面中显示一个数字,并在进入视口时显示计时器滚动效果: 效果如上↑ 新建组件ScrollNumber.vue:<template><divstyle="display:inline-flex;justify-content:flex-start;align-items:center;"><divv-for="(item......
  • 震坤行API接口聚合解析,实现根据ID取商品详情
    震坤行是一个工业品服务平台,提供了API接口供开发者使用。要根据ID获取商品详情,您需要使用震坤行API接口并进行相应的请求。以下是使用震坤行API接口根据ID获取商品详情的示例代码(使用Python编写):pythonimportrequestsimportjson#震坤行API接口地址api_url="htt......
  • ceph(五)CephFS部署、使用和MDS高可用实现
    1.部署cephfs服务cephFS即cephfilesystem,可以实现文件系统共享功能(POSIX标准),客户端通过ceph协议挂载并使用ceph集群作为数据存储服务器,https://docs.ceph.com/en/latest/cephfs/。cephFS需要运行MetaDataServices(MDS)服务,其守护进程为ceph-mds,ceph-mds进程管理与cephFS上存......
  • 实现一个大文件上传和断点续传
    本文将从零搭建前端和服务端,实现一个大文件上传和断点续传的demo前言本文将从零搭建前端和服务端,实现一个大文件上传和断点续传的demo前端:vueelement-ui服务端:nodejs文章有误解的地方,欢迎指出,将在第一时间改正,有更好的实现方式希望留下你的评论大文件上传整体思路前端......
  • 基于Java的高校竞赛管理系统设计与实现(亮点:发起比赛、报名、审核、评委打分、获奖排名
    高校竞赛管理系统一、前言二、我的优势2.1自己的网站2.2自己的小程序(小蔡coding)2.3有保障的售后2.4福利三、开发环境与技术3.1MySQL数据库3.2Vue前端技术3.3SpringBoot框架3.4微信小程序四、功能设计4.1主要功能描述4.2系统角色五、系统主要功能展示5.1前端展示5.1.1......