Возвращаемое значение указателя на указатель - PullRequest
0 голосов
/ 22 марта 2020

У меня вопрос по поводу указателей на указатели.

Допустим, у меня есть class foo. И я создаю указатель указателя на этот класс где-то в моем коде.

foo** x;

Каким будет возвращаемое значение, если я создам функцию, которая также возвращает foo**?

foo** bar();

У меня также есть массив указателей, и я хочу вернуть это массив в функции доступа как указатель на указатель на класс.

Ответы [ 2 ]

0 голосов
/ 22 марта 2020

Каким будет возвращаемое значение, если я сделаю foo ** foo (); function?

Это был бы адрес объекта типа foo* (или указатель-межконвенционный тип). Или это может быть null или недопустимое значение указателя (но вы должны избегать последнего).

Обратите внимание, что называть это «двойным указателем» сбивает с толку, поскольку double - это тип, так что можно понять, что вы имели в виду double*.

0 голосов
/ 22 марта 2020

Я не уверен, что речь идет об общих именах или двойных указателях, но если это возможно, вы можете объявить о выделении пространства для объекта foo и вернуть этот адрес / указатель (переменную).

это действительно должен быть двойной указатель, хотя? Вы можете сделать указатель на выделенный указатель, но это не имеет смысла. С другой стороны, вы можете выделить массив и вернуть его адрес, чтобы иметь двойной указатель.

Это все, что я могу сказать: /

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