-3
using namespace boost;

typedef void (*PtrFunc)(any& );

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

4

2 回答 2

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++)中的类型声明的完整指南,请参阅本文。

此外,本文还提供了一些 ASCII 艺术!

于 2013-05-09T08:43:49.793 回答
1

这段代码声明了一个 typedef PtrFunc,它是一个函数类型,它接受一个类型的参数boost::any&

你可以像这样使用它:

void myFunc(any&)
{
    ....
}

PtrFunc pointerToMyFunc = myFunc;
于 2013-05-09T08:43:45.900 回答