深入理解php内核阅读1
程序员文章站
2023-12-24 22:29:09
...
深入理解php内核阅读1
do{ }while(0)使用的解释
do{ }while(0)写法的目的主要是为了程序基础函数的健壮性和通用性,和一些代码的灵活使用。
do{ }while(0)写法会让内部的代码执行一次后退出,如果不使用这种写法,会对那些如if语句后面不紧跟{}的程序员造成编译错误,而对那些使用{}编程习惯的则无影响。
举例:
#define SAFE_DELETE(p) do{ delete p; p = NULL} while(0) //1.使用 do{ }while(0)写法
#define SAFE_DELETE(p) { delete p; p = NULL} //2.使用{}写法
#define SAFE_DELETE(p) delete p; p = NULL //3.什么都不使用的写法
if(NULL != p) SAFE_DELETE(p) //1.无问题 2.无问题 3.有问题,else前面有2条语句,编译失败
else ...do sth...
if(NULL != p) SAFE_DELETE(p); //1.无问题 2.有问题,括号后面跟;编译失败 3.有问题,else前面有2条 else ...do sth... //语句,编译失败
if(NULL != p) {SAFE_DELETE(p)} //1.无问题 2.无问题 3.无问题
else ...do sth...
推荐阅读
-
深入理解PHP之require/include顺序 推荐
-
PHP单元测试利器:PHPUnit深入理解(1)_PHP教程
-
深入理解PHP的Session机制
-
深入理解用mysql_fetch_row()以数组的形式返回查询结果_php技巧
-
深入理解php中$GLOBALS与global区别
-
深入理解NumPy简明教程---数组1
-
html5指南-1.html5全局属性(html5 global attributes)深入理解
-
PHP面向对象之旅:深入理解static变量与方法
-
php natsort内核函数浅析第1/2页
-
html5指南-1.html5全局属性(html5 global attributes)深入理解