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

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

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

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

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

return *(T*)NULL;