相关疑难解决方法(0)

函数指针有什么意义?

我很难看到函数指针的实用程序.我想它在某些情况下可能是有用的(毕竟它们存在),但我想不出使用函数指针更好或不可避免的情况.

你能举出一些好用函数指针的例子(在C或C++中)吗?

c c++ pointers function c++-faq

85
推荐指数
8
解决办法
1万
查看次数

函数指针是否使程序变慢?

我在C中读到了函数指针.每个人都说这将使我的程序运行缓慢.这是真的吗?

我制作了一个程序来检查它.我在两个案例中得到了相同的结果.(衡量时间.)

那么,使用函数指针是不是很糟糕?提前致谢.

为了回应一些人.在循环中我比较的时候我说"运行缓慢".像这样:

int end = 1000;
int i = 0;

while (i < end) {
 fp = func;
 fp ();
}
Run Code Online (Sandbox Code Playgroud)

执行此操作时,如果执行此操作,我会得到相同的时间.

while (i < end) {
 func ();
}
Run Code Online (Sandbox Code Playgroud)

所以我认为函数指针没有时间差异,也没有像许多人所说的那样使程序运行缓慢.

c pointers function-pointers

52
推荐指数
7
解决办法
2万
查看次数

ANSI C:如果函数指针指向可执行代码,那意味着执行开销比简单地调用函数要少吗?

我们知道在C语言中使用函数指针在适当的场景中使用时非常有用(在运行时调用函数与编译时间,使代码更具可读性等),但是关于简单函数调用vs的文献并不多.使用函数指针.

void foo(void) {
    printf("hello\n");
}

int testFcn(void) {

    // simple invokation
    foo();

    return 0;
}

// Or, declare function pointer and assign
void (*myFunc)(void) = foo;

int testFcn(myFunc) {

    // Function pointer invokation.
    myFunc();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

也许唯一真正的方法是分析.lst文件和.map文件?

c optimization function-pointers c89

2
推荐指数
1
解决办法
185
查看次数

标签 统计

c ×3

function-pointers ×2

pointers ×2

c++ ×1

c++-faq ×1

c89 ×1

function ×1

optimization ×1