我在C ++书中读到了这个typedef行,但我无法解析它的含义:
typedef Shape* (*CreateShapeCallBack)();
现在,CreateShapeCallBack代表什么,任何想法? 感谢。
答案 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 ++中的函数指针