函数指针(pointer to function)的形式

:::info 函数指针: const vector<int>* (*seq_ptr)( int );
错误定义(优先级比小括号低) `const vector *seq_ptr( int );这种方式定义的是一个以 int 为输入参数的函数, 返回类型是一个指向指针的指针,前者指向一个const vector` ::: 🐗2.8 函数指针带来更大的弹性 - 图1

  • 函数名称本身就是地址,因此使用函数指针和直接调用函数效果一样。
  • 此外如果想要获得函数的地址,只需直接将函数名赋值给函数指针即可

    指向指针的指针

指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。

扩展

关于数组指针
👾01_C++编程基础

小结

  • 注意函数指针定义时,*与()的优先级(右结合性?)
  • 函数指针使用时和直接使用函数名称一样