在线文档教程
C++
应用 | Utilities

std::hash <std::variant>

STD::散列<std::Variable>

Defined in header
template <class... Types> struct hash<std::variant<Types...>>;(since C++17)

模板的专门化std::hashstd::variant模板允许用户获取variant物品。

专业化std::hash<std::variant<Types...>>已启用%28(参见std::hash29%std::hash<std::remove_const_t<Types>>...已启用,否则将禁用。

这种专门化的成员函数不能保证为NoOPTION。

模板参数

Types-the types of the alternatives supported by the variant object

注记

不像std::hash<std::optional>,变体的散列通常不等于包含值的散列;这使得区分是可能的。std::variant<int, int>持有相同的价值与不同的选择。

另见

hash (C++11)hash function object (class template)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/实用程序/变量/散列