
C、C++
文章平均质量分 84
wangjijian
这个作者很懒,什么都没留下…
展开
-
memset的使用
memest原型(please type "man memset" in your shell) void *memset(void *s, int c, size_t n);memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。常见的三种错误第一: 搞反了c 和 n的位置.一定要记住 如果要把一个char a[20]清零, 一定是 memset(a, 0, 20) 而不是 memset(a, 20, 0) 第二: 过度使用memset, 我想这些程序转载 2010-11-01 20:50:00 · 2332 阅读 · 0 评论 -
回调函数详解
一,回调函数<br /><br />我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?<br /><br />使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。<br /><br />而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或转载 2010-11-11 21:15:00 · 827 阅读 · 0 评论 -
typedef的用法
用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; PCHAR pa, pb; 用途二: 用在旧的C代码中,帮助struct。以前的代码中,声明struct新对象时,必须要带上struct,即形式为: struct 结构名对象名,如: struct tagPOINT1 {转载 2011-02-24 16:20:00 · 571 阅读 · 0 评论 -
C++虚析构函数
C++ 指出:当一个派生类对象通过使用一个基类指针删除,而这个基类有一个非虚的析构函数,则结果是未定义的。运行时比较有代表性的后果是对象的派生部分不会被销毁。如果一个类要被另外一个类继承,而且用其指针指向其子类对象时,如A* d = new B();(假定A是基类,B是从A继承而来的派生类),那么其(A类)析构函数必须是虚的,否则在delete d时,B类的析构函数将不会被调用,因而会产生内存泄漏转载 2011-12-01 22:12:48 · 660 阅读 · 0 评论