相关疑难解决方法(0)

C中的函数指针如何工作?

我最近在C中使用了函数指针.

继续回答你自己的问题的传统,我决定对那些需要快速深入研究这个主题的人进行一些基本的总结.

c function-pointers

1170
推荐指数
10
解决办法
77万
查看次数

C++函数通过一个带有public成员指针的对象调用函数,而不使用dereference运算符

好吧,我认为标题足够描述(但令人困惑,抱歉).

我正在读这个库:Timer1.

在头文件中有一个指向函数的公共成员指针,如下所示:

class TimerOne
{
  public:
  void (*isrCallback)();
};
Run Code Online (Sandbox Code Playgroud)

存在TimerOne类的实例化对象,称为"Timer1".

Timer1调用该函数如下:

Timer1.isrCallback();
Run Code Online (Sandbox Code Playgroud)

这怎么回事?我熟悉通过使用dereference运算符通过函数指针调用函数.

例如:

(*myFunc)();
Run Code Online (Sandbox Code Playgroud)

所以我希望通过对象的上述调用更像是:

(*Timer1.isrCallback)();
Run Code Online (Sandbox Code Playgroud)

那么,通过函数指针调用函数的可接受选项是什么,作为独立的函数指针对象的成员?

c++ pointers function-pointers function

4
推荐指数
2
解决办法
772
查看次数

C函数指针调用语法

假设有一个函数指针:

void func(float a1, float a2) {

}

void (*fptr)(float, float) = &func;
Run Code Online (Sandbox Code Playgroud)

这两行之间是否有任何区别(编译和编译工作)?

(*fptr)(1,2);
fptr(1,2);
Run Code Online (Sandbox Code Playgroud)

我想第二个版本只是第一个版本的捷径,但我想确保自己.更重要的是标准行为?

c function-pointers

3
推荐指数
2
解决办法
573
查看次数

标签 统计

function-pointers ×3

c ×2

c++ ×1

function ×1

pointers ×1