c++ - 圆括号 "(*)"中的单个星号在 C++ 中有什么作用?

标签 c++

我找到了这样的代码:

typedef std::map<std::string, Example*(*)()> map_type;

找了一段时间,还是没搞清楚(*)运算符到底是干什么的。有人有什么想法吗?

最佳答案

此处的括号用于强加优先级。类型

Example*(*)()

是一个指向函数的指针,返回指向 Example 的指针。

如果没有 parent ,你会拥有

Example**()

这将是一个返回指向 Example 指针的函数。

关于c++ - 圆括号 "(*)"中的单个星号在 C++ 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23616028/

相关文章:

c++ - 如何从一系列快照中编码视频?

c++ - C和C++的编译区别

C++ - 初始化 SOCKADDR_IN

c++ - union 内结构的重载类型转换运算符问题

c++ - PE中的 "Isolated Image"属性是什么?

java - 它们真的是虚拟代码吗?

C++ 复制构造函数清除 Derived* 的 vector<Base*>

c++ - vector 的lock_guards

c++ - DLL 的 "good"调用约定是什么?

c++ - 无法使 std::array 成为 C++ 中的 constexpr