C/C++
jinri1234
这个作者很懒,什么都没留下…
展开
-
参数可变函数的实现
<br />1、可变参数函数形式<br />(1)定义参数书面可变的函数时,必须至少明确说明一个形参;在列出的最后一个形参后面用省略号(...)来说明该函数的参数数目可变。调用时,实参的数目必须大于等于形参中明确说明的形参数目。例如:<br />函数原型:int printf(char * format, ...)<br />(2)对应于形参说明中的省略号部分的实参的数据类型实行缺省的参数提升,例如:<br />void f(int, int, ...);/*f是参数数目可变的函数*/<br />int x原创 2010-06-28 15:29:00 · 769 阅读 · 0 评论 -
虚拟继承实现原理
网上查了好多篇关于虚拟继承的文章,竟然没有一篇比较系统的介绍虚拟继承的原理、内存分布等情况。没办法,结合自己对于虚拟继承的了解,以及以前大牛们做的贡献在此做一下系统的分析吧^_^虚继承又叫虚拟继承,是多重继承中特有的概念。虚基类是为解决多重继承而出现的。首先还是先给出虚继承和虚基类的定义。虚继承:在继承定义中包含了virtual关键字的继承关系;虚基类:在虚继承体系中的通过virtual继承而来的基类,需要注意的是:struct CSubClass : public virtual CBase {}; 其中原创 2010-06-29 15:24:00 · 2004 阅读 · 0 评论 -
C语言宏定义使用技巧(转载)
<br /><br />写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义……<br /> 1,防止一个头文件被重复包含<br /> #ifndef COMDEF_H<br /> #define COMDEF_H<br /> //头文件内容<br /> #endif<br /> 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。<br /> typedef unsigned cha转载 2010-06-29 17:05:00 · 443 阅读 · 0 评论 -
结构体(struct) vs 类(class)
<br />1、默认继承权限。如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理;<br />2、成员的默认访问权限。class的成员默认是private权限,struct默认是public权限。除了这两点,class和struct基本就是一个东西。语法上没有任何其它区别。<br />原创 2010-06-29 20:56:00 · 578 阅读 · 0 评论 -
C++虚函数的实现(转)
虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。转载 2010-06-29 09:39:00 · 581 阅读 · 0 评论