C++ 编程
zzjxiaozi
这个作者很懒,什么都没留下…
展开
-
指针的应用
一个函数在编译时被分配一个入口地址,将这个入口地址称为函数的指针,可以用一个指针变量指向该函数指针,然后通过该变量来调用函数。 有关说明: 1、 函数指针的声明格式: 函数返回值类型(*指针变量名)(参数类型列表) 或者是: typedef 函数返回值类型 (*指针变量名)(参数类型列表) 2、一个函数指针只能指向一种类型的函数,即具有相同的返回值和相同的参数的转载 2013-01-14 14:10:23 · 1178 阅读 · 0 评论 -
extern "C"用法详解
1.前言: 时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码转载 2013-01-26 21:14:45 · 584 阅读 · 0 评论 -
回调函数的概念及其使用
1 什么是回调 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的转载 2013-01-22 15:27:59 · 691 阅读 · 1 评论 -
C++仿函数(functor)详解
所谓的仿函数(functor),是通过重载()运算符模拟函数形为的类。 因此,这里需要明确两点: 1 仿函数不是函数,它是个类; 2 仿函数重载了()运算符,使得它的对你可以像函数那样子调用(代码的形式好像是在调用函数)。 看下面的实例: #include using namespace std; const int CMP_LES = -1; const int转载 2013-01-22 16:27:48 · 1175 阅读 · 1 评论 -
为什么类中的线程函数必须要声明静态?
之前也没注意到这问题,大家先搞清楚下面几个关键词吧: class CMyTest { public: CMyTest(); ~CMyTest(); DWORD Start(); static DWORD WINAPI ThreadFun(LPVOID); // .... }; void main() { C转载 2012-08-07 13:55:08 · 1417 阅读 · 4 评论