using namespace boost;
typedef void (*PtrFunc)(any& );
如何理解上面关于c ++中typedef的代码示例?
答案 0 :(得分:1)
此代码声明了一个名为PtrFunc
的typedef,它是一个函数类型,它接受boost::any&
类型的单个参数
您可以像以下一样使用它:
void myFunc(any&)
{
....
}
PtrFunc pointerToMyFunc = myFunc;
答案 1 :(得分:1)
这是一个指向函数的指针,该函数返回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 ++)中读取类型声明的完整指南,请参阅此article。
此外,这个article提供了一些ASCII艺术!