我讀了一本C++書籍這種類型定義線,但我無法解析其含義:的typedef C++,解決不了它的意義
typedef Shape* (*CreateShapeCallBack)();
現在,CreateShapeCallBack代表什麼,什麼想法? 謝謝。
我讀了一本C++書籍這種類型定義線,但我無法解析其含義:的typedef C++,解決不了它的意義
typedef Shape* (*CreateShapeCallBack)();
現在,CreateShapeCallBack代表什麼,什麼想法? 謝謝。
這是指向函數的指針的類型,該函數返回指向Shape的指針並且不帶參數。你可以這樣使用它:
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中的函數指針++