在瀏覽Genode源代碼文件,我碰到一個函數誰的名字開始與星號(*),具體而言,*是C++函數名稱?
Hello::Session_component *_create_session(const char *args)
我通常用C的工作,而不是C++所以我這個有點困惑。這是一個指向名爲_create_session()的函數的指針,是函數名稱的*部分還是其他什麼東西?
你可以找到代碼示例here。
在瀏覽Genode源代碼文件,我碰到一個函數誰的名字開始與星號(*),具體而言,*是C++函數名稱?
Hello::Session_component *_create_session(const char *args)
我通常用C的工作,而不是C++所以我這個有點困惑。這是一個指向名爲_create_session()的函數的指針,是函數名稱的*部分還是其他什麼東西?
你可以找到代碼示例here。
函數名爲_create_session,其返回類型是指向Hello :: Session_component的指針。
這工作就像它在C:
T *func(); // return type is T*
T* func(); // exact same declaration
感謝您的澄清,這是我認爲正在發生的事情,但不想讓你和我屁股。 ('假設'笑話) – samoz 2011-01-10 18:59:01
的*
指返回類型不是方法的名稱,在這種情況下,它返回一個Hello::Session_component*
,所以指針Session_component
。
對於您提供的代碼,`*`在C和C++中具有完全相同的含義。 – 2011-01-10 20:57:06