面试题答案
一键面试void (*funcPtr)(int) = nullptr; // 定义并初始化为空指针
if (funcPtr) { // 检查函数指针是否为空
funcPtr(5); // 如果不为空,调用函数并传入参数5
}
void (*funcPtr)(int) = nullptr;
:定义一个函数指针funcPtr
,它指向一个接受一个int
参数且返回void
的函数,并初始化为nullptr
,表示当前不指向任何函数。if (funcPtr)
:检查函数指针funcPtr
是否为空。如果不为空,即funcPtr
指向了一个有效的函数,那么进入if
块。funcPtr(5);
:在if
块内调用函数指针funcPtr
,并传递参数5
。这一步确保了只有在函数指针有效时才会调用函数,避免了空指针调用导致的未定义行为。