#define TYPE_CHECK(T, S) \
while (false) { \
*(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \
}
Я читаю Google v8 код и нашел указанный макрос для проверки типа.
Однако я не понимаю, почему это работает. while (false) никогда не выполняются, не так ли? Может кто-нибудь объяснить эти строки? Спасибо