如何理解关于c ++中typedef的代码示例?

时间:2013-05-09 08:39:39

标签: c++ typedef

using namespace boost;

typedef void (*PtrFunc)(any& );

如何理解上面关于c ++中typedef的代码示例?

2 个答案:

答案 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艺术!