std::hash <std::variant>
Defined in header <variant> | | |
|---|---|---|
template <class... Types> struct hash<std::variant<Types...>>; | | (since C++17) |
模板的专门化std::hash为std::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。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com

