Я прочитал эту ЬурейеЕ строку в C++ книги, но я не мог решить ее смысл:Typedef C++, не может решить его смысл
typedef Shape* (*CreateShapeCallBack)();
Теперь CreateShapeCallBack стоит за что, какие-либо идеи? Спасибо.
Я прочитал эту ЬурейеЕ строку в C++ книги, но я не мог решить ее смысл:Typedef C++, не может решить его смысл
typedef Shape* (*CreateShapeCallBack)();
Теперь CreateShapeCallBack стоит за что, какие-либо идеи? Спасибо.
Это тип указателя на функцию, которая возвращает указатель на фигуру и не принимает никаких параметров. Вы можете использовать его следующим образом:
Shape * Func() {
// do stuff - return Shape pointer
}
...
CreateShapeCallBack p = Func;
Он определяет CreateCallBack как функцию указателя. Функция не имеет аргументов и возвращает указатель формы.
Указатель на функцию, возвращающую указатель на экземпляр Shape
(который равен Shape*
) и принимает void
в качестве параметра - без параметров.
Сравните это, например typedef int (*function_pointer)(double);
- это указатель на функцию, которая принимает double
в качестве параметра и возвращает int
...
returntype (*functionpointer)(parameters, ...)
является функцией указатель в C++