Когда я получил нулевой указатель, есть ли лучший способ обработать нулевую точку вместо MessageBox
и выйти? Мой учитель сказал мне, что это не очень хороший способ использовать exit()
. Вот мой код:Как обращаться с нулевым указателем без выхода?
CCheckBoxUI *pCbSwitch = static_cast<CCheckBoxUI*> (pItem->FindSubControl(_T("switch")));
ASSERT(pCbSwitch && "Failed to find contronl");
if (pCbSwitch == nullptr)
{
MessageBox(NULL, _T("Failed to find contronl"), _T("tip"), 0);
exit(-1);
}
Если вы не хотите вызывать exit, не делайте этого. –
У вас уже есть утверждение. Почему вы дважды проверяете? – molbdnilo
@molbdnilo Как я знаю, ASSERT будет недействительным в выпуске. Таким образом, это утверждение будет проигнорировано. – XHLin