如何解释“ void(*)()”?

dudengke

当我读取shared_ptr时,我发现了一段代码:

void(*)()

怎么解释呢?

杰乔

它是一个指向函数类型的指针,可用于所有不带参数和返回值的函数void

例如:

void function_1() {}
void function_2() {}

void(*func_1_ptr)() = function_1; // or = &function_1;
void(*func_2_ptr)() = function_2; // or = &function_2;

现在func_1_ptr保存指向函数的指针function_1,并func_2_ptr保存指向的指针function_2

您可以通过using声明使类型更直观

using FunPtrType = void(*)();

现在你可以写

FunPtrType  func_1_ptr = function_1; // or = &function_1;
//Type      identifier   function
FunPtrType  func_2_ptr = function_2; // or = &function_2;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章