0

我有一个返回 std::strings 的 std::vector 的函数。但是,如果在函数开始时未满足某些检查,我会退出(例如没有这样的用户)

在这种情况下,我没有什么可返回的,正确的语义是什么?

4

2 回答 2

1

如果这处于错误状态,那么您应该抛出异常。如果一个空列表被认为是正常操作,则返回一个空向量。答案将在很大程度上取决于您的应用程序。

于 2013-08-06T18:10:49.250 回答
0

在您的情况下,这很容易,因为您有 std::vector 可以为空。如果要将结果标记为无效,可以使用 boost::optional。

于 2013-08-06T19:16:39.973 回答