2 hustis1403 HUSTIS1403 于 2016.04.24 09:42 提问

c++初学 c++返回引用,要返回空的时候该什么办。。

如:
classA& fun()
{
if(...)
return nullptr;
else return....
}
报错说,比如改为const classA&,但是这样的话,返回的引用不就是不能修改了?不符合设计啊。。

4个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.24 14:09

有几个思路:
1.抛出异常
2.可以专门分配一点内存来表示逻辑上的空,然后返回这个逻辑空对象的引用就成了

return *(T*)NULL;
big_thinker
big_thinker   2016.04.24 11:52

指针可以是空,引用不可以是空,所以你函数的返回是引用的话,就不能返回空,你可以把函数的返回设计成一个指向A的指针

CSDNXIAOD
CSDNXIAOD   2016.04.29 19:20

C++返回引用
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

oyljerry
oyljerry   Ds   Rxr 2016.04.24 13:35

引用总要有一个合法对象 空的时候应该返回一个初始对象引用

HUSTIS1403
HUSTIS1403 我是用一个静态成员指针,指向一个空对象,返回空引用就返回这个静态指针指向的空对象
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!