昨天写的代码,由于对引用认识不到位,写出了NULL引用。
提供接口函数:
template<class T>
T &cycleList<T>::getObject(const int token)
{
if(ifWorking[token])//有效令牌
{
return r_getObject(token);
}else
{
return nullptr;
}
}//这段代码写下来没有提示错误,不过暂未进行编译
今天我突然想起,这里返回的引用,说起来就如同在返回一个对象。【他们说 引用相当于对象的别名】。
所以这里是 对象 = null?
当然,引用在下层里其实相当于指针。指针能置NULL,所以从这个角度引用能置NULL也不是说不过去。
所以想请教一下大佬们,关于这里return nullptr到底是在干嘛?
总觉得这里这个操作有些隐藏的知识我没弄明白。【对象 = null or 指针 = null。如果是指针置为null,外边调用者收到这个null返回时,这引用是谁的别名? 如果是对象置为null?这样可以吗?】