在 C++ 语言中,函数的参数也可以是另一个函数。( )
这题考函数指针。拿到题先想:C++里函数名在表达式中会退化为地址,所以它本质上就是个整数值,完全可以像普通变量一样传给参数,因此选A。
学生常把‘值传递’和‘传函数’对立起来,以为参数只能是基本类型或对象,忘了函数名本身就是地址值;或者看到‘也可以是另一个函数’这种说法就警惕绝对化,误判为错。其实命题人就是想卡住只背‘参数是值’却不懂‘函数名退化为地址’的学生,让他们掉进‘函数不能当参数’的坑里。
C++ 允许函数作为参数传递,其核心机制是函数指针。在 C++ 中,函数名在表达式中会退化为指向该函数的指针,因此函数名本身就是一个地址值。这意味着你可以像传递整数或字符串一样,把函数名直接传给另一个函数的参数。
GESP 五级 C++ 组这道题,命题人想卡住只知基本类型(int/double)的学生,让他们误以为参数只能是这些。实际上,函数名在表达式中退化为地址,所以它可以作为值传递给参数。这道题区分的是‘懂指针’和‘懂函数作为值传递’的层级差异,属于进阶考点。