Defined in header <string> | ||
---|---|---|
template<> struct hash<std::string>; template<> struct hash<std::wstring>; template<> struct hash<std::u8string>; // c++20 template<> struct hash<std::u16string>; template<> struct hash<std::u32string>; | (since C++11) | |
template<> struct hash<std::pmr::string>; template<> struct hash<std::pmr::wstring>; template<> struct hash<std::pmr::u8string>; template<> struct hash<std::pmr::u16string>; template<> struct hash<std::pmr::u32string>; | (since C++20) |
The template specializations of std::hash
for the various string classes allow users to obtain hashes of strings.
These hashes equal the hashes of corresponding | (since C++17) |
The following code shows one possible output of a hash function used on a string:
#include <iostream> #include <string> #include <functional> int main() { std::string s = "Stand back! I've got jimmies!"; std::hash<std::string> hash_fn; size_t hash = hash_fn(s); std::cout << hash << '\n'; }
Output:
325378910
(C++11) | hash function object (class template) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/string/basic_string/hash