Typedef C ++,无法解析其含义

时间:2010-04-22 08:53:43

标签: c++ typedef

我在C ++书中读到了这个typedef行,但我无法解析它的含义:

typedef Shape* (*CreateShapeCallBack)();

现在,CreateShapeCallBack代表什么,任何想法? 感谢。

4 个答案:

答案 0 :(得分:8)

它是指向函数的指针类型,该函数返回指向Shape的指针并且不带参数。您可以像这样使用它:

Shape * Func() {
   // do stuff - return Shape pointer
}

...
CreateShapeCallBack p = Func;

答案 1 :(得分:2)

指向函数的指针,该函数返回指向Shape实例的指针(Shape*)并将void作为参数 - 没有参数。

将此与例如typedef int (*function_pointer)(double);进行比较 - 这是指向将double作为参数并返回int的函数的指针...

答案 2 :(得分:1)

它将CreateCallBack定义为函数指针。 该函数没有参数并返回Shape指针。

答案 3 :(得分:1)

returntype (*functionpointer)(parameters, ...)

是c ++中的函数指针