私は作成したクラスオブジェクトのREFERENCESを保持するリンクリストを作成しました。参照するデフォルト値、C++
リンクリストを検索し、存在する場合はオブジェクトへのconst参照を返すメソッドを実行したい、またはオブジェクトが存在しない場合は、SOME VALUEを返します。
値はどれくらいですか?それが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オブジェクトはリンクリストのMemberオブジェクトの値です。
例外をスローすることができます。静的で意味的にnullの 'Node'への参照を返すことができます。 Boost.Optionalを使うことができます。あなたが決してしてはいけないことは、 'return *(Node *)0'です。 –
代わりにポインタを返し、nullptrを使用するか、イテレータを返して、 "見つからない"という信号を送信します。 –
参照は単にこれにはあまり適していません。 –