c++ - 函数指针需要和号吗

标签 c++ c function-pointers

在 C/C++ 中,如果我有以下函数:

void foo();
void bar(void (*funcPtr)());

这两个调用有区别吗:

bar(foo);
bar(&foo);

?

最佳答案

不,没有区别,因为函数可以隐式转换为指向函数的指针。 标准的相关报价 (N3376 4.3/1)。

An lvalue of function type T can be converted to a prvalue of type “pointer to T.” The result is a pointer to the function.

关于c++ - 函数指针需要和号吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16917043/

相关文章:

c++ - 如何在运行控制台时更改文本

c++ - 将数据保存和加载到文件 C++(初学者)

java - Android NDK 中的 JNI 清理和守护线程

c - 使多个管道等待每个进程的返回码

networking - 跨网络复制函数

以非专用模板作为值的 C++ hash_map

c++ - SOIL - 获取图像尺寸

c - apue相关代码编译时链接问题

c++ - 包含内部模板类的 C++ 模板类构造函数的正确语法

c++ - 是否可以通过套接字发送指向函数的指针?