Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
broDiaga_cpp
 Аватар для broDiaga_cpp
22 / 12 / 1
Регистрация: 20.02.2010
Сообщений: 180
#1

Классы в структуре - C++

01.08.2013, 19:37. Просмотров 293. Ответов 4
Метки нет (Все метки)

Добрый вечер.
Вопрос первый: какой из контейнеров STL наиболее целесообразней использовать, если предполагаются частые операции поиска в этом контейнере?

Вопрос второй: полагаю, что ответ на первый вопрос будет - map, и если это так, то у map есть ключ и значение. Так вот... Ключ у меня описывается двумя объектами одного класса. Как мне это сделать. Самое логичное, что приходит на ум, это сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class property1
{
//содержимое класса
};
 
class property2
{
//содержимое класса
};
 
struct object
{
property1 pr1;
property2 pr2;
};
 
//И объявляем наш контейнер
std::map<object,int> container;
Но так, если я правильно всё понимаю, мы сделать не можем. Как быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2013, 19:37     Классы в структуре
Посмотрите здесь:

Ошибка в структуре C++
Объявление в структуре C++
Структура в структуре C++
C++ Ошибка в структуре?
Функции в структуре C++
Список в структуре C++
Поиск в структуре C++
Перечисление в структуре C++
C++ Сортировка в структуре
C++ Сортировка в структуре
C++ Структура в структуре
Вывод в структуре C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5411 / 4807 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 19:52     Классы в структуре #2
Цитата Сообщение от broDiaga_cpp Посмотреть сообщение
Но так, если я правильно всё понимаю, мы сделать не можем.
Почему? Не компилируется?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12534 / 7096 / 797
Регистрация: 27.09.2012
Сообщений: 17,504
Записей в блоге: 2
Завершенные тесты: 1
01.08.2013, 19:54     Классы в структуре #3
Ну так еще как минимум нужна функция сравнения для определения эквивалентности(не равенства) элементов.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
01.08.2013, 20:06     Классы в структуре #4
Цитата Сообщение от Croessmah Посмотреть сообщение
Ну так еще как минимум нужна функция сравнения для определения эквивалентности(не равенства) элементов.
если мне не изменяет память, функция сравнения должна быть что-то вроде "operator <"
смутно помню. Но где-то оператора == вроде было недостаточно в этих контейнерах. Я не прав?
gray_fox
What a waste!
 Аватар для gray_fox
1253 / 1136 / 54
Регистрация: 21.04.2012
Сообщений: 2,357
Завершенные тесты: 3
01.08.2013, 20:20     Классы в структуре #5
Цитата Сообщение от broDiaga_cpp Посмотреть сообщение
какой из контейнеров STL наиболее целесообразней использовать, если предполагаются частые операции поиска в этом контейнере?
unordered_map - понадобиться для ключа определить operator == и хэш-функцию; только в новом стандарте (С++11).
map - для ключа нужен только operator <, сложность поиска хуже.
Yandex
Объявления
01.08.2013, 20:20     Классы в структуре
Ответ Создать тему
Опции темы

Текущее время: 16:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru