using namespace boost;
typedef void (*PtrFunc)(any& );
如何理解上面关于 c++ 中 typedef 的代码示例?
这是一个指向函数的指针,该函数返回void
并接受boost:any&
作为其唯一参数。
它可以这样使用:
void someFunction(any& arg)
{
// ...
}
int main() {
PtrFunc fn = someFunction;
// ...
fn(...);
// You can also do this without a typedef
void (*other_fn)(any&) = someFunction;
other_fn(...);
return 0;
}
有关阅读 C(以及因此的 C++)中的类型声明的完整指南,请参阅本文。
此外,本文还提供了一些 ASCII 艺术!
这段代码声明了一个 typedef PtrFunc
,它是一个函数类型,它接受一个类型的参数boost::any&
你可以像这样使用它:
void myFunc(any&)
{
....
}
PtrFunc pointerToMyFunc = myFunc;