我正在处理一些这样的c++代码:
//c++ code
class MovieInfo;
MovieInfo getMovieInfoByName(String movieName)
{
//search the movieInfoList with movieName
if(FOUND)
return movieInfo;
//TODO: **what should i return if the movieInfo can't be found in the list?**
}
问题是,如果在列表中找不到movieInfo,我应该返回什么?
最佳答案
您有几种选择:
MovieInfo
类,以使“无效”实例成为可能(类似于默认构造的std::thread
如何不代表实际线程)并返回此类实例。 getMovieInfoByName()
的前提,该名称对应有效的电影信息,并且如果不匹配,则简单地返回一个随机值(因为“违反前提条件会导致未定义的行为”)。 boost::optional<MovieInfo>
的内容。 getMovieInfoByName()
一个MovieInfo
类型的额外参数,如果找不到与该名称匹配的参数,它将用作返回值。 这完全取决于功能的预期用途。
关于c++ - getObjByName()应该返回什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19315734/