c/c++基础、技巧
sing_sing
一个迷途小书童
展开
-
c语言中通过函数指针实现函数重载
<br />我们都知道重载是c++面向对象的特性。c语言中是不存在的。所谓重载简单来说就是一个函数名可以实现不同的功能,要么输入参数不同或者参数个数不同,要么返回类型不同。例如函数add(),在c++中可以轻易实现int,double等不同类型参数的相加功能,而在c语言中却不能这样实现。c语言中实现重载功能,或者准确来说是类似重载的功能,可以通过函数指针的方式来实现。下面为演示代码:<br /> <br />typedef struct _int_param {<br /> int param1;原创 2010-12-31 15:13:00 · 8562 阅读 · 4 评论 -
c/c++一些容易遗忘的知识点(不断补充)
1、c语言中函数不能使用缺省参数,c++才可以。原创 2010-12-31 15:40:00 · 1120 阅读 · 0 评论 -
c++模拟鼠标事件
Q: How can I emulate mouse events in an application?A:There are two API fucntions that you can use:'mouse_event()'. 'SendInput()'. Which of the two API functions should I use?The 'mouse_event()' function has been superseded by 'SendInput()' on Window NT/20原创 2011-01-10 14:09:00 · 16933 阅读 · 0 评论 -
使用多个dll的虚假内存泄露
<br />昨天做的一个demo,在对话框内加入flash控件。结果退出时报内存泄露。大概如下:<br />a CDynLinkLibrary object at $01F5A130, 64 bytes long<br />还有很多一些信息,省略。<br />搜索了一下,原因是mfc中包含多个dll导致的。<br />msdn解释如下:<br />在同一进程中加载多个版本的 MFC DLL 时,将报告这些内存泄漏。由于 MFC 扩展 (AFXDLL) dll 需要完全相同的 MFC DLL,作为调用应用原创 2011-02-17 11:17:00 · 1558 阅读 · 0 评论 -
可变参数列表需要注意的问题
利用va_arg, va_end, va_start这几个宏可以实现在函数中输入可变参数。例如printf,sprintf等函数。今天自己写一个可变参数列表的时候,发现几个要注意的问题。摘抄如下:详细看这里:http://www.cppblog.com/ownwaterloo/archive/2009/04/21/unacceptable_type_in_va_arg.html简单的说,我们用va_arg(ap,type)取出一个参数的时候,type绝对不能为以下类型:——char原创 2011-02-17 16:19:00 · 769 阅读 · 0 评论