Cześć :)
W Cocos2d istnieje sobe takie oto makro:
#define CC_SAFE_DELETE(p) do { delete (p); (p) = nullptr; } while(0)
I dziwi mnie jego postać, dlaczego jest to wszystko objęte pętlą do-while, która wykona się dokładnie raz. W jakim celu jest to zrobione, bo myślę, że powodem nie jest widzi mi się autora.