猿问

c++一句代码不明白,求教。

#include
using namespace std;
struct Object{
   int a;
   int b;
};

void main()
{
   Object& MyFunction(int b,int a=20);
   Object& rMyObj = MyFunction(5);
   cout<<"rMyObj.a="<    delete &rMyObj;
}
Object& MyFunction(int b,int a)
{
   Object *o = new Object;
   o->a = a;
   o->b = b;
   return *o;
}
最后一句为啥return *o,而不是return o;或者return &o?


慕桂英4014372
浏览 588回答 2
2回答

斯蒂芬大帝

*O 返回的是一个对象,O的话返回的是一个地址,你的返回类型为Object类型的引用

繁星点点滴滴

因为“对指针解引用返回指针指向对象的引用”
随时随地看视频慕课网APP

相关分类

iOS
我要回答