std::hash (std::string_view, std::wstring_view, std::u16string_view, std::u32string_view)

来自cppreference.com
 
 
 
 
在标头 <string_view> 定义
template<> struct hash<std::string_view>;
(C++17 起)
template<> struct hash<std::wstring_view>;
(C++17 起)
template<> struct hash<std::u8string_view>;
(C++20 起)
template<> struct hash<std::u16string_view>;
(C++17 起)
template<> struct hash<std::u32string_view>;
(C++17 起)

std::hash 对各种视图类的模板特化,目的是对视图哈希。

这些哈希等于对应的 std::basic_string 类的哈希:若 S 是标准 basic_string 类型,而 SV 是对应的 string_view 类型,且 sS 类型对象,则 std::hash<S>()(s) == std::hash<SV>()(SV(s))

参阅

(C++11)
散列函数对象
(类模板)