私は C++ にかなり慣れていないので、学習中は多くの Java イズムを使用して設計する傾向があります。T
とにかく、Java では、特定のパラメーターに一致するからオブジェクトを返す「検索」メソッドを持つクラスがCollection< T >
あれば、そのオブジェクトを返し、オブジェクトがコレクションに見つからない場合は を返しnull
ます。次に、呼び出し関数で確認しますif(tResult != null) { ... }
null
C++ では、オブジェクトが存在しない場合は値を返せないことがわかりました。オブジェクトが見つからなかったことを呼び出し元の関数に通知する T 型の「インジケーター」を返したいだけです。実際には例外的な状況ではないため、例外をスローしたくありません。
これは私のコードが今どのように見えるかです:
class Node {
Attr& getAttribute(const string& attribute_name) const {
//search collection
//if found at i
return attributes[i];
//if not found
return NULL; // what should this be?
}
private:
vector<Attr> attributes;
}
そのようなマーカーを付けることができるようにするにはどうすれば変更できますか?