значение ** в объявлениях класса C ++ - PullRequest
0 голосов
/ 09 апреля 2020

Меня смущает использование двойной звездочки, добавленной к типу класса в C ++.

Перефразируемый код, который я читаю, будет:

class ThisClass : protected SuperClass
{
  public:
    void MemberFunction(ThisClass** identifier);
}

Я понимаю, что ThisClass* identifier с одной звездочкой означает, что identifier - указатель на экземпляр ThisClass. Является ли ** повторным раундом «наведения» или имеет совершенно другое значение?

Как мне интерпретировать аргумент функции-члена?

1 Ответ

1 голос
/ 09 апреля 2020

** является повторяющимся раундом "наведения",

Да, это означает, что тип identifier является указателем на указатель на ThisClass, то есть это указывает на объект ThisClass*, который сам является объектом типа указателя (указывающим на объект ThisClass).

или имеет совершенно другое значение?

Нет, никаких особых значений.


Аналогично в выражении ** означает повторное разыменование.

...