do{}while(false)

看代码时,发现奇怪的写法。do{}while(false);觉得有点奇怪,网上查了一下,做个记录。多向高手学习。

 

// setup int status = 0; do {   
// preconditions    status = doSomething(); 
   if (status) break;    
   status = doSomethingElse();  
   if (status) break;    // computation 
   status = doWhatYouWantedToInTheFirstPlace(); 
} while (false); // cleanup return status; 
如果不这么写会成为:

status = DoSomething(); if(!status) { status = DoSomethingElse(); } if(!status) { status = DoWhatYouWantedToInTheFirstPlace(); }

写代码的小技巧,他像表达的是另一种条件语句而已。

你可能感兴趣的:(do{}while(false))