微网站开发入门浙江建站管理系统价格

web/2025/9/29 4:29:22/文章来源:
微网站开发入门,浙江建站管理系统价格,wordpress head文件,专业的网站建设平台前篇文章解决了关于函数指针的不同类成员函数传递的问题。不知道细心的朋友看见我上篇文章后#xff0c;是否发现参数必须被限制为特定的参数。 原来改进的代码如下#xff1a; class CCallFuctionList { public:CCallFuctionList(); virtual ~CCallFuctionL…前篇文章解决了关于函数指针的不同类成员函数传递的问题。不知道细心的朋友看见我上篇文章后是否发现参数必须被限制为特定的参数。 原来改进的代码如下 class CCallFuctionList { public: CCallFuctionList(); virtual ~CCallFuctionList(void); typedef boost::functionvoid() FUNCPTR; typedef std::multimapunsigned int, FUNCPTR FUNCMAP; typedef std::multimapunsigned int, FUNCPTR::iterator FUNCMAP_ITERATOR; void CallDoRegister(); private: FUNCMAP_ITERATOR m_funcIter; int i; FUNCMAP m_funcMap; }; 以FUNCPTR作为参数能传递的函数形式只能为void xxx(void)这种类型的。 例如#define REGISTE_FUNC(type, func) m_FuncMap.insert(std::make_pair(type, func))  REGISTE_FUNC(SCMD_REGISTER,   boost::bind(CCallFuctionList::CallDoRegister, this));  即既FUNCPTR参数只能接受void CallDoRegister()这种类似的类成员函数 那么有没有办法可以解决不同参数类型的函数成员呢答案当然是有。 我们可以模仿MFC里面的回调函数做法。具体修改如下 enum { voidFunV, intFunV, intunI }FuncType; union pFunc { boost::functionvoid() pVoidFunV; boost::functionint() pIntFunV; boost::functionint(int) pVoidFunI; }; class CCallFuctionList { public: #define REGISTE_FUNC(type, func) m_FuncMap.insert(std::make_pair(type, func)) CCallFuctionList(); virtual ~CCallFuctionList(void); typedef boost::functionvoid() FUNCPTR; typedef std::mapunsigned int, pFunc FUNCMAP; typedef std::mapunsigned int, pFunc::iterator FUNCMAP_ITERATOR; void CallDoRegister(); void InsertMapFunc(int ID, FUNCPTR f); void Run(int ID, FuncType fType); private: FUNCMAP_ITERATOR m_funcIter; int i; FUNCMAP m_funcMap; FuncType m_FuncType; pFunc m_pFunc; }; void CCallFuctionList::InsertMapFunc(int ID, FUNCPTR f) { m_pFunc.pVoidFunV f; REGISTE_FUNC(ID, m_pFunc); } void CCallFuctionList::Run(int ID, FuncType fType, int a 0); { m_pFunc m_funcMap[ID]; switch(fType) { case voidFunV: (this-*m_pFunc.pVoidFunV)(void); break; case intFunV: (this-*m_pFunc.pIntFunV)(void); break; case intFunI: (this-*m_pFunc.pVoidFunI)(a); break; } } 具体调用如下 class A { public: A() { m_funcList.InsertMapFunc(SCMD_REGISTER, (CCallFuctionList::FUNCPTR)boost::bind(A::Insert, this)); m_funcList.InsertMapFunc(SCMD_LOGIN, (CCallFuctionList::FUNCPTR)boost::bind(A::InsertA, this)); } void Run() { m_funcList.Run(SCMD_REGISTER, intFunI, 5); m_funcList.Run(SCMD_LOGIN, intFunv); } private: int Insert(int); int InsertA(); private: CCallFuctionList m_funcList; } 通过两张表一张参数类型表一张函数指针表来实现参数与函数指针的对应。MFC具有借鉴意义。 当然不排除有更好的方法如果有更好的办法欢迎指教

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

杭州市网站制作英雄联盟网站源码

目录 一.static 简介二.static 修饰变量 1.static 局部静态变量2.static 全局静态变量 三.static 修饰函数四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.static 简介 在 C 语言中,static 关键字不仅可以用来修饰变量&#xff…

现在网站一般做多大的遵义湘江投资建设有限责任公司门户网站

文章目录 Springboot整合Flowable Modeler1 项目准备1.1 新建一个Springboot项目1.2 项目的pom文件1.3 Flowable Modeler UI下载2 后端代码2.1 复制代码2.2 代码修改2.3 新增代码3 启动项目Springboot整合Flowable Modeler 1 项目准备 1.1 新建一个Springboot项目 ​ Spring…

uc官网网站开发者中心网站失败的原因

1082 射击比赛 (20 分) 本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。…

wordpress 还是织梦seo整站如何优化

TK矩阵的应用场景 TK矩阵系统适用于多个场景,尤其是在以下几个方面有显著优势: 批量账号管理与内容发布:对于需要管理多个TikTok账号的内容创作者或营销人员,TK矩阵提供了高效的账号管理工具,支持批量发布视频、评论、…

网站建设推进表营销型 手机网站制作

55. 跳跃游戏 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1 …

无代码快速搭建网站柳城企业网站建设价格

方法一:在SQL Server Management Studio配置 max text repl size 选项:1、在对象资源管理器中,右键单击服务器并选择“属性”。2、单击“高级”节点。3、在“杂项”下,将“最大文本复制大小”选项更改为所需的值。方法二&#xff…

做网站的开题报告如何搭建网络教学平台

kubeadm来快速的搭建一个k8s的集群: 二进制搭建适合大集群,50台以上主机 kubeadm更适合中小企业的业务集群 master:192.168.233.91 docker kubelet lubeadm kubectl flannel node1:192.168.233.92 docker kubelet lubeadm kubectl flannel…

网站维护工程师企业网站开发项目策划书基本框架

Leetcode 1768.交替合并字符串 题目描述: 给定两个字符串 word1 和 word2,以交替的方式将它们合并成一个新的字符串。即,第一个字符来自 word1,第二个字符来自 word2,第三个字符来自 word1,依此类推。如果…

如何创建网站?网站被谷歌降权

OCSNG部署:http://wowking.blog.51cto.com/1638252/994441OCSNG 是什么呢?OCSNG就是Open Computer and Software Inventory Next Generation是一款免费软件,它使用户能够盘点网络工程师的IT资产。OCS-NG收集有关运行OCS客户端程序(“OCS Inve…

常见门户网站的基本功能建一个自己的网站有什么用

1.IP地址 IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。 格式 IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)&…

赤峰网站建设赤峰wordpress可视化编辑插件下载

网站需求: 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个网站目录分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student 网站访问学生信息,www.openlab.com/data网站访问教…

电视台做网站还是APP中国企业500强完整榜单

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例 1: 输入:nums [1,2,2] 输…

想要建一个营销型网站 服务器的费用在多少wordpress下载模板

Gitchat连接 https://gitbook.cn/gitchat/activity/5f85696aad812d16b498848c 简介 从底层,从原理,我们来重学一次 Java。Stream 是JDK8中新引入的,方便了数据列表的过滤、投影、遍历等各种处理,他的源码及实现是怎样的呢&…

凡科网站建设教学视频湖南省公共资源交易中心

我有一个梦想,做一名大师傅,快乐地下厨房。土豆在我刀下歌唱,茄子在我锅里跳舞。盘碗勺筷为我呐喊,油盐酱醋为我喝彩。 我有一个梦想,让土豆和茄子不再孤单,再加几个青椒,做一盘地三鲜。还要少放…

电商设计网站有哪些百度推广登录首页

步骤一: 利用阿D浏览器通过https://s.bt.gg 注入关键字扫描发现注入点: http://www.rqyl.gov.cn/*****.php?ID153 用啊D跑不出账号密码 步骤二: 手工注入http://www.rqyl.gov.cn/*****.php?ID153 and 11 、and12出错 猜字段ht…

青岛网站商城设计网易企业邮箱网页

std::stack 是 C 标准模板库(STL)中的一个容器适配器,它提供了后进先出(LIFO)的数据结构。作为适配器,std::stack 基于其他容器(默认是 std::deque,但也可以指定为 std::vector&…

旅游网站建设策划书模板邓州网站建设

winform 由于不是数据驱动, 页面想刷新数据必须刷新控件, wpf则不用. 可以利用wpf 的数据绑定和IOC, 页面中的消息传递, itemscontrol 实现大量数据刷新, 上位机页面不卡顿 跨页面传值, 可以用两种方法: Toolkit.Mvvm中的Message和IOC. 下面是代码: using Microsoft.Extensio…

万年历网站做珠海网站建设q.479185700強

全世界只有3.14 % 的人关注了数据与算法之美(图片来源于网络,侵权删)

英文免费注册网站品牌注册商标查询

我发现了 石油 新的排序算法!!! 算法: 定义布尔数组a[NUM] (我也不知道NUM的值) 输入 n,循环输入n次整数x,每次输入把a[x]的值改为1,输出每个 a[i]1 的 i 是有序序列 算法时间复杂度 O(n) 空间占用(字节…

网站开发需求说明书南通高端网站建设开发

问题: 求 $[L, R]$ 之间的素数表 解法: 一个合数 $n$ 的最小素因子不超过 $\sqrt{n}$。 先用埃氏筛法求出 $[1,\lfloor \sqrt{R} \rfloor]$ 上的素数表 再在 $[L, R]$ 上用埃氏筛法求素数 const int N(1e5); bool isprime[N]; int prime[N]; void init()…