是否可以从函数返回一个空对?意思是,遵循函数原型(prototype)的规则,但对中没有任何元素(例如 NULL)。理解一对简单存在,所以我不知道这在概念上是否可行。我需要返回一个 NULL 或空的对,如果这有意义的话。
例如,
pair<int, int> MyClass::someFunction()
{
// do something that means we need to return an empty pair
return NULL; // <--- this does not work obviously
}
不幸的是,提升对我来说是不可能的。
最佳答案
一般来说,空对甚至没有意义。毕竟pair
根据定义,是一个包含两个对象的容器。
然而,您可以使用 Boost.Optional 来创建类似空对的东西.那么你要么使用 boost::optional<std::pair<...>>
让您选择返回一对或空状态或使用 std::pair<boost::optional<...>, boost::optional<...>>
对于其中一个对象可能为空的一对。
关于c++ - 从函数返回空 std::pair,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801539/