* это имя функции c ++? - PullRequest
       1

* это имя функции c ++?

3 голосов
/ 10 января 2011

Просматривая документацию по исходному коду Genode, я наткнулся на функцию, имя которой начинается со звездочки (*), в частности,

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

Обычно я работаю на C, а не на C ++, поэтому немного растерялсяэтим.Это указатель на функцию с именем _create_session (), является * частью имени функции или чем-то еще полностью?

Пример кода можно найти здесь .

Ответы [ 2 ]

15 голосов
/ 10 января 2011

Функция называется _create_session, а ее тип возвращаемого значения - указатель на Hello :: Session_component.

Это работает так же, как и в C:

T *func();  // return type is T*
T* func();  // exact same declaration
4 голосов
/ 10 января 2011

* относится к типу возвращаемого значения, а не к имени метода, в этом случае он возвращает Hello::Session_component*, поэтому указатель на Session_component.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...