Я снова запутался в указателях - PullRequest
1 голос
/ 19 февраля 2012

В заметках к лекциям для моего класса есть функция

Obj3D * findObject (int objID) {
   Obj3D *pObj = ...
   if (pObj == 0) {
      throw BadObjectID (objID);
   return pObj;

Почему функция возвращает указатель на объект, а возвращаемый тип функции - объект?

Ответы [ 5 ]

5 голосов
/ 19 февраля 2012

Тип возвращаемого значения - Obj3D *, который является указателем.

1 голос
/ 19 февраля 2012

нет объявление функции говорит, что вернет указатель типа Obj3D.объявление для возврата указателя в функции: OBJ * functionname(input) {

1 голос
/ 19 февраля 2012

Возвращаемый тип функции не является объектом.

Obj3D *findObject 

означает, что findObject возвращает указатель на переменную Obj3D.Это может быть записано как

Obj3D* findObject

.

1 голос
/ 19 февраля 2012

Тип возврата функции - Obj3D *, то есть указатель на Obj3D. Это именно то, что возвращает функция.

1 голос
/ 19 февраля 2012

Это не объект - у вас есть Obj3D *pObj - это указатель на экземпляр Obj3D.

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