bezpieczne zwalnianie pamięci.

0

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.

0

To jest po to żeby móc użyć tego makra jako pseudo-funkcji w składni if/else ze średnikiem dopisanym po makrze.

Trochę więcej o tym:
https://gcc.gnu.org/onlinedocs/cpp/Swallowing-the-Semicolon.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1