С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Artishok
ЧакЭ одобряЭ
278 / 277 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
#1

Своя функция хеширования для unordered_map - C++

10.01.2012, 16:48. Просмотров 728. Ответов 0
Метки нет (Все метки)

правильно ли я её реализовал или нет?(компилируется нормально)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
HCRYPTHASH GetHash(const std::string *var)
{
    HCRYPTHASH hash;
    HCRYPTPROV prov;
    BYTE *buf1=(BYTE*)var->c_str();
    DWORD buf1len=strlen((char*)buf1)+1;
    ::CryptAcquireContext(&prov,NULL,NULL,PROV_RSA_AES,0);
    ::CryptCreateHash(prov,CALG_MD4,0,0,&hash);
    ::CryptHashData(hash,buf1,buf1len,0);
    return hash;
}
typedef struct
{
    HCRYPTHASH operator() (const std::string &k) const 
    { 
        return GetHash(&k); 
    }
}HASHER;
......
std::tr1::unordered_map<std::string,std::string,HASHER> table;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2012, 16:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Своя функция хеширования для unordered_map (C++):

Каким образом unordered_map выдает правильное значение для ключа, если его хеш функция допускает коллизии? - C++
Читаю книгу джосаттис стандартная библиотека c++, там в разделе про unordered_map есть описание данного контейнера Раз уж каждый...

Метод открытого хеширования и хеш-функция, основанная на методе деления с остатком - C++
Ещё раз здравствуйте! Есть такое задание: Написать программу, которая реализует метод открытого хеширования и хеш-функцией,...

stl remove своя функция - C++
мне нужна в качестве 3 аргумента функции remove указать структура, компилятор выдаёт ошибку, как исправить?

Своя функция конкатенации двух строк - C++
Доброго времени суток всем. Возникла проблема при работе с указателями. Код, который представлен ниже, вылетает с ошибкой...

Своя функция проверки на ввод с клавиатуры - C++
Как правильно убрать оба while в одну функцию после main, а потом вызывать её для использования? #include &lt;iostream&gt; #include...

Своя функция strcat, завершение с ошибкой - C++
Здравствуйте, написал свою функцию strcat, она выполняет то, что от нее нужно, но сама программа при этом завершается с ошибкой. void...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2012, 16:48
Привет! Вот еще темы с ответами:

Своя функция strcat. Копирует мусор - C++
Не могу как сделать так, что бы копирование происходило несколько раз. char *Copies(const char *s, char *s1, int n) { for...

Своя функция склейки двух строк - C++
Здравствуйте! Подскажите, пожалуйста, в чем я тут ошибся: void strcat(char *to, const char *from) { for (; *to != &quot;\0&quot;; ++to);...

Своя функция lastpos (поиск последнего вхождения подстроки в строку) - C++
Написать функцию, которая выполняет действие функции LastPos(s,s1)поиск последнего вхождения под строки s1 в строку s. Но без использовании...

Своя иконка для приложения - C++
Как загрузить свою иконку в програму?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.