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

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

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

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

01.08.2013, 19:37. Просмотров 299. Ответов 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++
Помогите решить структуру #include &lt;stdio.h&gt; #include &lt;cstdlib&gt; #include &lt;string.h&gt; using namespace std; struct atc { ...

Поиск в структуре - C++
Подскажите, пожалуйста, как сделать бинарный поиск в структуре?

Поиск по структуре - C++
Имеется функция поиска сотрудника по имени: void Searchname(video film, char *name) { int j=0; for (int i = 0; i&lt;col;...

Структура в структуре - C++
struct Sportzal{ struct services{ int services_price; int services_id; char services_name; char services_description; ...

String в структуре - C++
Добрый вечер! Подскажите пожалуйста, почему компилятор видит ошибку в строке &quot;cin &gt;&gt; tablica.marka;&quot; следующего кода: #include...

Суммирование в структуре - C++
Всех приветствую,начинаю изучать С++ и вот встала такая задачка,думаю второй день над ней,решил спросить у знатоков! Надо найти все...

Ошибки в структуре - C++
Помогите работаться с ошибками :( Я создаю односвязный список, элементами которого являются структура, чье описание представлено ниже. ...

Указатель в структуре - C++
Как можно работать дальше с Abool как с массивом, обращаясь к нему как к члену структуры, т. е. D.Abool? Когда программа доходит до этого...

Перечисление в структуре - C++
Здравствуйте! Я создала перечисление в структуре struct DCBSettings { enum ...

Список в структуре - C++
Доброго времени, нужно организовать динамичиский список внутри структуры, чтоб была ясна суть прилагаю задание. Структура –...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 19:52     Классы в структуре #2
Цитата Сообщение от broDiaga_cpp Посмотреть сообщение
Но так, если я правильно всё понимаю, мы сделать не можем.
Почему? Не компилируется?
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
01.08.2013, 19:54     Классы в структуре #3
Ну так еще как минимум нужна функция сравнения для определения эквивалентности(не равенства) элементов.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
01.08.2013, 20:06     Классы в структуре #4
Цитата Сообщение от Croessmah Посмотреть сообщение
Ну так еще как минимум нужна функция сравнения для определения эквивалентности(не равенства) элементов.
если мне не изменяет память, функция сравнения должна быть что-то вроде "operator <"
смутно помню. Но где-то оператора == вроде было недостаточно в этих контейнерах. Я не прав?
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
01.08.2013, 20:20     Классы в структуре #5
Цитата Сообщение от broDiaga_cpp Посмотреть сообщение
какой из контейнеров STL наиболее целесообразней использовать, если предполагаются частые операции поиска в этом контейнере?
unordered_map - понадобиться для ключа определить operator == и хэш-функцию; только в новом стандарте (С++11).
map - для ключа нужен только operator <, сложность поиска хуже.
Yandex
Объявления
01.08.2013, 20:20     Классы в структуре
Ответ Создать тему
Опции темы

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