c++ - 从函数返回空 std::pair

标签 c++ std-pair

是否可以从函数返回一个空对?意思是,遵循函数原型(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/

相关文章:

c++ - 使用 CoInitialize 和 CoUninitialize 引发 C++ 异常

c++ - std::pair 行为变化的模板类型推导? (不,显式关键字错误)

c++ - C++中成对的指针

c++ - 解释 Unresolved external C++

c++ - Lambda 表达式( vector 之和)

c++ - : error C2065: 'Lcurrent' : undeclared identifier

c++ - 结构体构造函数+函数参数

C++无法创建类的实例

c++ - 如何使成对 vector 像哈希表一样工作?

c++ - C++ 中 std::pair 数组的问题?