我再次对指针感到困惑

时间:2012-02-18 21:46:57

标签: c++ pointers

在我班级的讲义中,有一个功能

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

为什么函数返回指向对象的指针,但函数的返回类型是对象?

5 个答案:

答案 0 :(得分:5)

返回类型为Obj3D *,这是一个指针。

答案 1 :(得分:1)

这不是一个对象 - 你有Obj3D *pObj - 这是一个指向Obj3D实例的指针。

答案 2 :(得分:1)

函数的返回类型是Obj3D *,即指向Obj3D的指针。这正是函数返回的内容。

答案 3 :(得分:1)

函数的返回类型不是对象。

Obj3D *findObject 

表示findObject返回指向Obj3D变量的指针。它可以写成

Obj3D* findObject

答案 4 :(得分:1)

没有函数声明说它会返回一个Obj3D类型的指针。在函数中返回指针的声明是OBJ * functionname(input) {