如:
classA& fun()
{
if(...)
return nullptr;
else return....
}
报错说,比如改为const classA&,但是这样的话,返回的引用不就是不能修改了?不符合设计啊。。
指针可以是空,引用不可以是空,所以你函数的返回是引用的话,就不能返回空,你可以把函数的返回设计成一个指向A的指针
引用总要有一个合法对象 空的时候应该返回一个初始对象引用
有几个思路:
1.抛出异常
2.可以专门分配一点内存来表示逻辑上的空,然后返回这个逻辑空对象的引用就成了
return *(T*)NULL;