Heim  >  Artikel  >  php教程  >  深入理解php内核阅读1

深入理解php内核阅读1

WBOY
WBOYOriginal
2016-06-13 08:54:241089Durchsuche

深入理解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...

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn