1.在定义类的赋值描述符成员函数时,有以下几点要注意:1)判断是否是自己赋值给自己2)返回值是const类的引用(为了连续赋值)3)参数是const类的引用4)如果数据成员中有指针,注意要深拷贝,且要释放之前指针指向的内存。2.类的拷贝构造函数,一定不能使用该类型的变量做参数,会无法通过编译的。因为...
分类:
其他好文 时间:
2014-09-21 00:37:29
阅读次数:
334
C函数声明与定义的语法归约过程阐释。抽象数据类型强大到不可撼动!如何解释int (*mother(int (*)(long), int))(int);,它的函数指针又怎么定义在这里将找到答案!...
分类:
其他好文 时间:
2014-09-21 00:01:39
阅读次数:
321
初学嵌入式,看到了这样一行代码: typedef t_error (*pCommandFunc)(uint8 *params);一开始认为typedef后面必须要接两个参数才行,后来发现网上的解释后,才知道这其实就是定义了一个“函数指针”类型。最终的到的是一个叫pCommandFunc的“类型”名....
分类:
其他好文 时间:
2014-09-18 22:16:24
阅读次数:
156
委托看做是指向一个方法列表的指针,列表中的事件必须有同样的返回值和标示等事件通过设置事件,在触发事件时调用事件处理函数来完成功能。接口类似于抽象类,但是接口可以达到多继承的效果,因为C#不支持多重继承,接口中是未实现的方法名,在实现接口的类中必须全部实现这些方法。明天开始C#网络可能,2个小时,认真...
分类:
其他好文 时间:
2014-09-17 23:13:32
阅读次数:
252
K&R第五章介绍了用函数指针实现的快速排序算法,对其中的代码比较困惑,所以看了下《算法导论》上对快排的介绍,下面这张图说明了快排的原理及过程:
用C实现上面的过程:
#include
/* declare function pointer */
typedef int(*fp_operation)(int a, int b);
void swap(int *a, int...
分类:
其他好文 时间:
2014-09-17 21:58:12
阅读次数:
320
钩子函数、回调函数、注册函数,挂钩子这些我们代码中经常涉及到的东西,是否已经困扰你很久了?它们究竟是怎么回事,究竟怎么用?下面我来为你一一解答。
什么是钩子函数?
钩子函数也叫回调函数,是通过函数指针来实现的,那我们来看看什么是函数指针。
首先看看以下例子:
int *p;
int a,b;
我们可以让指针p先后指向a,
b,这样,p就先后代表了不同变量的地...
分类:
其他好文 时间:
2014-09-17 12:05:22
阅读次数:
231
1 指针函数 带指针的函数,本质是函数,返回值是某一类型的指针。 形式:int *f(x,y);2 函数指针 指向函数变量的指针,本质是一个指针变量。 int func(int x); /* 声明一个函数 */ void (*f) (int x); /* 声明一个函数指针 */ f=func; /*...
分类:
其他好文 时间:
2014-09-16 17:16:40
阅读次数:
190
排序函数qsort 1 #include 2 3 int compare (const void * a, const void * b) 4 { 5 return *(int *)a - *(int *)b; 6 } 7 int main (void) 8 { 9 int ar...
分类:
其他好文 时间:
2014-09-15 22:47:49
阅读次数:
249
1、函数指针定义及初始化:int (*p)(int,int)=NULL;p=maxValue;//将函数maxValue的地址传给p或(*p)=maxValue;2、函数回调:int getValue(int a,int b,int (*p)(int,int));//函数指针作为getValue的....
分类:
其他好文 时间:
2014-09-14 23:25:17
阅读次数:
248
遇到的问题
我们在编程中需要把数据封装成一个类,调用pthread_create 利用成员函数去创建一个线程往往是不成功的!
error: argumentof type ‘void* (Threadpool::)(void*)’ does not match ‘void* (*)(void*)’
出现类型不匹配的问题。因为pthread_create需要的参数类型为voi...
分类:
编程语言 时间:
2014-09-14 18:07:37
阅读次数:
243