В заметках к лекциям для моего класса есть функция
Obj3D * findObject (int objID) { Obj3D *pObj = ... if (pObj == 0) { throw BadObjectID (objID); return pObj;
Почему функция возвращает указатель на объект, а возвращаемый тип функции - объект?
Тип возвращаемого значения - Obj3D *, который является указателем.
Obj3D *
нет объявление функции говорит, что вернет указатель типа Obj3D.объявление для возврата указателя в функции: OBJ * functionname(input) {
OBJ * functionname(input) {
Возвращаемый тип функции не является объектом.
Obj3D *findObject
означает, что findObject возвращает указатель на переменную Obj3D.Это может быть записано как
Obj3D* findObject
.
Тип возврата функции - Obj3D *, то есть указатель на Obj3D. Это именно то, что возвращает функция.
Obj3D
Это не объект - у вас есть Obj3D *pObj - это указатель на экземпляр Obj3D.
Obj3D *pObj