gpt4 book ai didi

c++ - C++ 中的 Typedef 函数指针

转载 作者:太空宇宙 更新时间:2023-11-03 10:27:23 24 4
gpt4 key购买 nike

我正在尝试理解 C++ header 中的代码。

#define GET_VAL(fn) void fn(int val)
typedef GET_VAL ((*get_val));
struct myStruct
{
get_val getValue;
};

在源文件中,函数getValue被调用。

getValue(2);

有人有什么想法吗?

最佳答案

GET_VAL 宏替换您传递给它的标记。这:

typedef GET_VAL ((*get_val));

扩展为:

typedef void (*get_val) (int val);

这是一个指向接受 int 并且不返回任何内容的函数的指针。这种类型的函数指针在 myStruct 中声明(大概是在某个时候定义的)并像常规函数一样调用。

关于c++ - C++ 中的 Typedef 函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28991313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com