今天做一个成绩管理系统的并发引擎,用Qt做的,仿照QtConcurrent搞了个模板基类。这里为了隐藏细节,隔离变化,把并发的东西全部包含在模板基类中。子类只需注册需要并发执行的入口函数即可在单独线程中执行。最终目标是,继承的业务逻辑类外部调用时有两个接口可选,调用syncRun同步执行;调用由引擎 ...
分类:
编程语言 时间:
2017-06-21 00:21:23
阅读次数:
342
实际项目中经常遇到很多类似操作,比如命令码对应执行函数等,对于此类操作,比较好的方式是使用const数组,将命令码和操作函数绑定在一起,通过查表方式找到操作函数,并执行操作函数。这样可以简化代码,降低复杂度,在c中这种方式很好实现,在c++中会稍微麻烦一些。 以串口命令解析执行为例,首先定义一个结构 ...
分类:
编程语言 时间:
2017-05-18 19:59:50
阅读次数:
247
1.using用法 typedef void (*ptr)(int); using ptr = void (*)(int); 2.可调用对象 1.函数指针 2.具有operator()成员函数的对象(仿函数) 3.可被转换为函数指针的类对象 4.类成员(函数)指针 举例: 1.void func(v ...
分类:
编程语言 时间:
2017-05-16 17:28:33
阅读次数:
167
C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数 1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。2. ...
分类:
编程语言 时间:
2017-04-05 00:58:41
阅读次数:
201
MFC中应该有两类回调函数:一类是源自C的传统回调函数,此类回调函数若非定义为全局函数,而定义在类中的话,要添加static约束,常见的有EnumXXX();一类是消息响应函数,通过成员函数指针实现回调。 设想一种情况,基类A触发某事件E后,回调某定义好的函数F进行事件处理(MFC中表现为消息响应函 ...
分类:
编程语言 时间:
2017-03-02 15:27:35
阅读次数:
172
1. 静态成员函数的地址可以用普通函数指针存储,而普通成员函数地址需要用类成员函数指针来存储。 2. 静态成员函数不可以调用类的非静态成员。因为静态成员函数不含this指针。 3.静态成员函数不可以同时声明为virtual, const, volatile函数。 4. 静态成员函数无需创建任何实例对 ...
分类:
编程语言 时间:
2017-02-16 13:53:18
阅读次数:
197
在反汇编代码中,当看到xmm寄存器,第一反应是将要进行浮点操作或访问,但是更加多的情况是在使用xmm寄存器初始化局部对象。 下面是自制反汇编工具翻译出来的代码: 首先对函数原型进行分析,对下面翻译代码对rdx的访问使用分析,可以知道作为dl访问,通常是作为布尔类型使用,从而得到setAllowsEd ...
分类:
其他好文 时间:
2017-02-14 20:22:35
阅读次数:
236
在我之前的博客让类成员函数指针成为可调用对象里有提到bind函数适配器,现在在这里介绍一下。适配器可以让某一个看上去像另一个行为,比如栈、队列等,底层使用链表去完成功能,我们通过操作底层链表去实现栈、队列等的行为。bind是函数适配器,通过bind返回的可调用对象去完..
分类:
编程语言 时间:
2017-01-03 08:45:26
阅读次数:
237
类成员函数指针实践上是一个指针类型,不可直接通过调用运算符()作为可调用对象调用,一般调用该类成员函数指针需要指定该指针对应的对象。一般情况下调用类成员函数指针://a.h
#ifndefA_H
#defineA_H
#include<iostream>
usingstd::cout;
usingstd::endl;
classA{
pub..
分类:
其他好文 时间:
2016-12-26 14:26:09
阅读次数:
255
#include<iostream>
usingnamespacestd;
classStudent{
public:
Student(conststring&name):m_name(name){}
voidwho(void){
cout<<m_name<<endl;
}
stringm_name;
staticints_add(inta,intb){
returna+b;
}
};
intmain(void){
//成员函数指针
void(Stud..
分类:
其他好文 时间:
2016-10-27 23:53:14
阅读次数:
299