• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

解析函数名字判断为空有啥用?

huihui163 2019-04-22 浏览量:664
 if (npag_handle == NULL) 
{
npag_handle = npag_handle_default;//npag_handle_default()为空函数
}
 
npag_handle 为串口指令解析函数,npag_handle_default()为空函数,这个判断有啥用
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这是一种防错机制,如果没有自定义处理函数,就采用默认处理函数。
    • 发布于 2019-04-22
    • 举报
    • 评论 2
    • 0
    • 0
huihui163 回复了 xdsnet:那个null是啥 回复
xdsnet 回复了 xdsnet:NULL是一个宏定义,一般是定义为0指针 回复

其他答案 数量:2
  • 首先不太确定你的语言是哪种,暂时假设是c或者c++吧:

    1、我认为npag_handle = npag_handle_default;中的npag_handle_default不是函数,而是一个#define或者const的一个值。

    2、在这个之前应该有一个对应的全局变量定义npag_handle,比如说string npag_handle;之类的语句,然后如果你在之前(比如构造函数中)没有对其赋值的话,在这个函数中就将其赋值为npag_handle_default。

    • 发布于2019-04-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 在C或者C++下面,所有被定义过的函数都是有个入口地址的,所以这里判断的是这个函数的入口地址是否合法

    如果不合法就用default的函数,如果合法,就用这个被定义过的函数

    这种用法常见于Linux内核和驱动里面,是判断一个函数是否被重载的

    • 发布于2019-04-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

解析函数名字判断为空有啥用?