哈希表作为C++中函数的返回类型

Jis*_*air -1 c++ hashtable

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

Jos*_*eld 5

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

std::unordered_map<X, Y> foo() {
  std::unordered_map<X, Y> map;
  return map;
}
Run Code Online (Sandbox Code Playgroud)

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

†在C++ 11中,移动构造函数足以满足给定的示例.