Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想知道我是否可以使用哈希表作为 C++ 中函数的返回类型。:)
哈希表的 C++ 标准库实现是std::unordered_map,是的,您可以愉快地从函数中返回它:
std::unordered_map
std::unordered_map<X, Y> foo() { std::unordered_map<X, Y> map; return map; }
它可以被复制,因为它有一个复制构造函数†</sup>。如果您实现自己的哈希表,如果它具有复制构造函数,它也将是可返回的。
† 在 C++11 中,对于给出的示例,移动构造函数就足够了。