Итак, я создал связанный список, который содержит ССЫЛКИ для созданных объектов класса.Значения по умолчанию для ссылки, C++
Я хочу сделать метод, который ищет в связанном списке и возвращает ссылку на const для объекта, если он существует, или если объект не существует, возвращает НЕКОТОРЫЕ ЗНАЧЕНИЯ.
которое значение должно быть? если бы это было int, я бы вернулся 0, если бы это был указатель, я бы вернул NULL ....
const Node& NodeList::NodeNumSearch(int num) const
{
Member *TempHead=MemberHead;
while(TempHead!=NULL)
{
if(TempHead->GetNode().getNum() == num)
return TempHead->GetNode();
TempHead=TempHead->GetNext();
}
return ???;
}
P.S. Объект Member является членом связанного списка. а объект Node - это значение в объектах-членах связанного списка.
Вы можете «выбросить» исключение. Вы можете вернуть ссылку на статический семантически нулевой «узел». Вы можете использовать Boost.Optional. То, что вы никогда не должны делать, это «return * (Node *) 0'. –
Или верните указатель вместо этого и используйте nullptr, или верните итератор, и используйте один-проходной конец, чтобы сигнал «не был найден». –
Ссылки просто не подходят для этого. –