C/C++
文章平均质量分 77
yawei147
这个作者很懒,什么都没留下…
展开
-
可变参数函数
转自:http://blog.csdn.net/weiqubo/article/details/4857567 C函数要在程序中用到以下这些宏:void va_start( va_list arg_ptr, prev_param ); type va_arg( va_list arg_ptr, type ); void va_end( va_list arg_ptr );转载 2013-07-25 09:48:14 · 348 阅读 · 0 评论 -
可变参数函数
C函数要在程序中用到以下这些宏:void va_start( va_list arg_ptr, prev_param ); type va_arg( va_list arg_ptr, type ); void va_end( va_list arg_ptr ); va_list:用来保存宏va_start、va_arg和va_end所需信息的一种类型。为了访问变长参转载 2014-04-15 20:12:07 · 420 阅读 · 0 评论 -
判断单链表是否存在环,判断两个链表是否相交问题详解
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如何找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fas转载 2014-02-27 14:59:53 · 530 阅读 · 0 评论 -
如何将二维数组作为函数的参数传递
人总是在不经意间犯错,眼高手低,自负自满,到头来发现最蠢的是自己!将二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的,但是不能省略第二维或者更高维的大小,这是由编译器原理限制的。大家在学编译原理这么课程的时候知道编译器是这样处理数组的:对于数组 int p[m][n];如果要取p[i][j]的值(i>=0 && i从以上可以看出,如果我们省略了第二维或者更高维的大小原创 2013-12-20 21:36:09 · 425 阅读 · 0 评论 -
钩子函数与回调函数
1、钩子函数钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的先获得控制权。转载 2013-12-19 20:51:33 · 758 阅读 · 0 评论 -
C#调用C++dll传参问题
转自:http://blog.csdn.net/wen158809179/article/details/57047011. 不返回值的参数C++ 原型:bool SendNewSms(char *szTel, char *szMessage);C#引用;[DllImport( "CdmaCard.dll",EntryPoint="SendNewSms转载 2013-12-19 20:17:30 · 645 阅读 · 0 评论 -
类模板与模板类(C++)
1、类模板一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类。类模板的重点是模板。表示的是一个原创 2013-12-07 21:40:07 · 635 阅读 · 3 评论 -
UML类图几种关系的总结
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为原创 2013-11-26 15:45:44 · 494 阅读 · 0 评论 -
C++局部类和嵌套类的区别
局部类 在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。局部类不能被外部所继承。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面是一个局部类的例子。 int a; void fun() { static转载 2013-11-25 14:43:37 · 575 阅读 · 0 评论 -
双向链表的建立插入删除
//////////////////////////////////////////////双链表的初始化,建立,插入,查找,删除。 ////Author:Zyw // //Date: 2013.11.22 /////////////////////////////////////原创 2013-11-22 18:36:45 · 614 阅读 · 0 评论 -
C++中的const关键字应用
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2013-11-19 14:54:23 · 633 阅读 · 0 评论 -
抽象类和接口
抽象类 & 接口一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。二、接口: 接口是引用类型的,类似于类,和抽象转载 2013-07-27 19:24:37 · 510 阅读 · 0 评论 -
C++静态成员函数
静态类成员包括静态数据成员和静态函数成员两部分。 一、 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点: 1.静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所转载 2013-07-25 10:11:19 · 493 阅读 · 0 评论 -
虚函数的实现机制
一、虚函数表对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。 在这个表中,主要是一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重转载 2014-04-15 20:50:50 · 426 阅读 · 0 评论