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

< cpp‎ | string‎ | basic string view

定义于头文件 `<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 类型，且 `s` 是 `S` 类型对象，则 std::hash<S>()(s) == std::hash<SV>()(SV(s)) 。

### 参阅

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