Questions tagged «sentinel»

8
如果找不到搜索结果,则返回“ NULL”对象
我对C ++相当陌生,因此在学习时,我倾向于使用许多Java风格进行设计。无论如何,在Java中,如果我有一个带有“搜索”方法的类,该类T将从Collection< T >与特定参数匹配的对象中返回一个对象,则将返回该对象,如果在集合中未找到该对象,则将返回null。然后在我的调用函数中,我只是检查if(tResult != null) { ... } 在C ++中,我发现null如果对象不存在,则无法返回值。我只想返回类型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; } 我该如何更改它才能给出这种标记?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.