Пространства имён
Варианты
Действия

std::hash (std::string, std::wstring, std::u16string, std::u32string)

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-члены
Доступ к элементам
Итераторы
Вместимость
Функции, не являющиеся членами
Вспомогательные классы
hash<std::string>hash<std::wstring>hash<std::u32string>hash<std::u16string>
hash<std::pmr::string>hash<std::pmr::wstring>hash<std::pmr::u32string>hash<std::pmr::u16string>
Правила вывода типов(C++17)
 
Defined in header <string>
template<> struct hash<std::string>;

template<> struct hash<std::wstring>;
template<> struct hash<std::u16string>;

template<> struct hash<std::u32string>;
(начиная с C++11)

Специализация шаблона std::hash для различных классов строк, которая позволяет пользователям получать хеши строк.

[править] Пример

Следующий код демонстрирует единственно возможный вывод хеш-функции для строки:

#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';
}

Вывод:

325378910

[править] См. также

(C++11)
Объект хеш-функции
(шаблон класса) [править]