gpt4 book ai didi

c++ - getObjByName() 应该返回什么?

转载 作者:搜寻专家 更新时间:2023-10-31 00:15:28 25 4
gpt4 key购买 nike

我正在编写这样的一些 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com