2013年6月30日

do...while(0)的作用

摘要: 1. 消除代码的冗余以及无需使用goto语句。int* p = new int; bool bOK(true); do{ bOK = func1(); if(!bOK) break; bOK = func2(); if(!bOK) break; //... }while(0); delete p; p = NULL;2. 宏定义中的do...while(0)避免悬空else分支导致编译失败或运行错误如:#define safe_delete(p) do{ delete p; p = NULL;}while(0)if (p != NULL) safe_delete(p);els... 阅读全文

posted @ 2013-06-30 19:44 eric.geoffrey 阅读(197) 评论(0) 推荐(0) 编辑

静态成员函数

摘要: 1. 静态成员函数不可以调用类的非静态成员函数,因为静态成员函数缺少this指针。2. 静态成员函数的地址可以用普通函数指针存储,而普通成员函数地址需要类成员函数指针存储,例如:class base{ static int func1(); int func2();}int (*pf1)() = &base::func1;int (base::*pf2) = &base::func2; 阅读全文

posted @ 2013-06-30 08:39 eric.geoffrey 阅读(140) 评论(0) 推荐(0) 编辑

导航