hash<string_view>
专用化
一个模板专用化,它在给定 string_view 的情况下生成哈希值。
template <class CharType, class Traits>
struct hash<basic_string_view<CharType, Traits>>
{
typedef basic_string_view<CharType, Traits> argument_type;
typedef size_t result_type;
size_t operator()(const basic_string_view<CharType, Traits>) const
noexcept;
};
备注
string_view 的哈希值等于底层字符串对象的哈希值。
示例
//compile with: /std:c++17
#include <string>
#include <string_view>
#include <iostream>
using namespace std;
int main()
{
string_view sv{ "Hello world" };
string s{ "Hello world" };
cout << boolalpha << (hash<string_view>{}(sv)
== hash<string>{}(s)); // true
}