Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10

Hash_map unordered_map

26.03.2015, 15:24. Показов 2337. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class P{
 
public:
    int x, y;
 
    friend bool operator< (const P u, const P v) {
        if(u.x < v.x) {
            return true;    
        } else if(u.x > v.x) {
            return false;
        } else if(u.y < v.y) {
            return true;
        } else return false;
    }
    friend bool operator> (const P u, const P v) {
        if(u.x > v.x) {
            return true;    
        } else if(u.x < v.x) {
            return false;
        } else if(u.y > v.y) {
            return true;
        } else return false;
    }
    friend bool operator== (const P u, const P v) {
        if(u.x == v.x && u.y == v.y) {
            return true;
        } else return false;
    }
 
};
 
 
std::hash_map< P , float> ps;
 
 
Каким д/б класс , чтобы удовлетворять тому что он ключ ??
 
 
 
// Ошибка 7   error C2440: приведение типов: невозможно преобразовать "const P" в "size_t" C:\Program // Files\Microsoft Visual Studio 10.0\VC\include\xhash   34  1   MashGraphic
Добавлено через 1 минуту
Цитата Сообщение от Qazan Посмотреть сообщение
std::hash_map< P , float> ps;
Каким д/б класс , чтобы удовлетворять тому что он ключ ??

Сейчас ошибка

// Ошибка 7 error C2440: приведение типов: невозможно преобразовать "const P" в "size_t" C:\Program // Files\Microsoft Visual Studio 10.0\VC\include\xhash 34 1 MashGraphic
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2015, 15:24
Ответы с готовыми решениями:

Контейнер unordered_map<string, unordered_map<string,int>>
Ну можно и не unordered_map&lt;string, unordered_map&lt;string,int&gt;&gt;. Мне нужен контейнер который будет по 2 ключам типа string выдавать int. ...

Контейнер hash_map
Здорова! Нужно создать контейнер hash_map это тот же контейнер как и map, только он в разы иногда раз в 10-20 быстрее осуществляет поиск...

<hash_map> is deprecated and will be REMOVED
Ругается на эту часть кода... Помогите, в чем причина, а #ifndef _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS #error...

2
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
26.03.2015, 15:47
Для того чтобы использовать тип в качестве ключа в std::unordered_map нужно реализовать хэш-функцию для этого типа. Например, так:
C++
1
2
3
4
5
6
7
8
9
10
11
namespace std {
template <>
class hash<P> {
 public:
  size_t operator()(const P &p) const
  {
    std::hash<int> ihash;
    return ihash(p.x) ^ ihash(p.y);
  }
};
}
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
26.03.2015, 15:57  [ТС]
Tulosba,


C++
1
2
    std::hash<P> h;
    std::hash_map< P , float, h> ps;

Попытался юзать так , верный путь ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.03.2015, 15:57
Помогаю со студенческими работами здесь

Hash_Map Error (C2338)
1) Ребята, начинал учить C++ и как всегда и как у всех, не без проблем. Пробовал писать в DevC++, все хорошо, но потом понял, что рано или...

Контейнер на пободия hash_map.
Всем привет. Столкнулся с такой задачей, нужно написать собственный контейнер на подобие hash_map. Почитал Страуструпа, некоторые моменты...

Stdext::hash_map и std::map
Здравствуйте форумчане! Может ли кто нибудь объяснить мне отличие stdext::hash_map от std::map? В интернете не так много информации о нем,...

Чем отличается map и hash_map в плюсах?
Чем отличается map и hash_map в плюсах? с hash_map еще не работал, хочу разобраться есть ли семантические отличия и в чем заключаются.

Ошибка <hash_map> при выполнении программы
При выполнении простого консольного проекта C++ #include &quot;std_lib_facilities.h&quot; int main() { cout &lt;&lt; &quot;I hate u,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru