0

我想知道我是否可以使用哈希表作为 C++ 中函数的返回类型。:)

4

1 回答 1

5

哈希表的 C++ 标准库实现是std::unordered_map,是的,您可以愉快地从函数中返回它:

std::unordered_map<X, Y> foo() {
  std::unordered_map<X, Y> map;
  return map;
}

它可以被复制,因为它有一个复制构造函数†</sup>。如果您实现自己的哈希表,如果它具有复制构造函数,它也将是可返回的。

† 在 C++11 中,对于给出的示例,移动构造函数就足够了。

于 2013-02-27T14:42:34.453 回答