2011-01-10 57 views
3

在瀏覽Genode源代碼文件,我碰到一個函數誰的名字開始與星號(*),具體而言,*是C++函數名稱?

Hello::Session_component *_create_session(const char *args) 

我通常用C的工作,而不是C++所以我這個有點困惑。這是一個指向名爲_create_session()的函數的指針,是函數名稱的*部分還是其他什麼東西?

你可以找到代碼示例here

+3

對於您提供的代碼,`*`在C和C++中具有完全相同的含義。 – 2011-01-10 20:57:06

回答

15

函數名爲_create_session,其返回類型是指向Hello :: Session_component的指針。

這工作就像它在C:

T *func(); // return type is T* 
T* func(); // exact same declaration 
+0

感謝您的澄清,這是我認爲正在發生的事情,但不想讓你和我屁股。 ('假設'笑話) – samoz 2011-01-10 18:59:01

4

*指返回類型不是方法的名稱,在這種情況下,它返回一個Hello::Session_component*,所以指針Session_component