2016年11月14日

define与typedef的区别

摘要: define: 发生在预处理阶段,也就是编译之前,仅仅文本替换,不做任何的类型检查 没有作用域的限制 typedef: 多用于简化复杂的类型声明,比如函数指针声明:typedef bool (*funcPoiinter) (int, double); 给已有类型定义一个别名(类似的 引用是给已有对象 阅读全文

posted @ 2016-11-14 13:01 暴力的轮胎 阅读(254) 评论(0) 推荐(0) 编辑

const修饰规则 及其 用法

摘要: const指针和指向const变量的指针,在写法上容易让人混淆,记住一个规则:从左至右,依次结合,const就近结合。 比如,int * const p: 1.int * (const p):变量p经过Const修饰,为只读变量 2.int (*(const p)):(const p)作为一个整体成 阅读全文

posted @ 2016-11-14 12:58 暴力的轮胎 阅读(4738) 评论(1) 推荐(1) 编辑

虚析构函数

摘要: 当然不一定要把所有的析构函数都设置成虚函数,因为会增加空间消耗。 真相大白:delete p1时,p1类型Base类中包含虚析构函数,所以p1实际指向的是派生类Derive对象,Derive继承了Base,派生类中包含虚表,通过vptr -> vtable[0]->Derive的析构函数->Deri 阅读全文

posted @ 2016-11-14 11:01 暴力的轮胎 阅读(173) 评论(0) 推荐(1) 编辑

导航