Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712

Почему работает map для пользовательского типа данных

30.01.2020, 09:06. Показов 4830. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех. Есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct TData
{
  std::string fieldA;
  std::string fieldB;
  std::string fieldC;
};
 
int main()
{
  std::map<TData, int> m;
  TData data;
  m[data] = 0;
}
Данный код не вызывает ошибок компиляции, но ведь для ключа map, чтобы выполнять сортировку, должны быть определены операторы сравнения, а в структуре TData они не определены. Как тогда map сортирует свои элементы в этом случае?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.01.2020, 09:06
Ответы с готовыми решениями:

Передача в контейнер map пользовательского типа данных
Доброго времени суток, дамы и господа. Интересует такая задачка: создать контейнер типа map, который будет хранить пользовательский тип...

Как использовать stl для своего класса(для пользовательского типа данных)
Мне бы пример какой-нибудь а то в инете ищу ничего не могу найти, кроме базовых типов данных

Почему с помощью std::cin не получается считать с клавиатуры массив пользовательского типа?
Доброго времени суток! Нашёл приме объвления класса комп. чисел и выполнения основных операций. Я пытал преобразовать коод таким образом,...

25
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
30.01.2020, 14:48  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DrOffset Посмотреть сообщение
Небольшое замечание: в технических ВУЗах (ну сейчас не знаю как, но раньше было) параллельно с курсом программирования, или на семестр раньше, начинают учить математическую логику и дискретную математику, в которых дается вся базовая теория, для того, чтобы вещи наподобие strict weak ordering не вызывали никаких затруднений.
Я, конечно, учился в техническом ВУЗе, но программирования у нас не было в принципе. По высшей математике были матрицы, дифференциальный уравнения, теория вероятностей... Логика и дискретная математика, вроде, были, но как-то пролетело незаметно
Цитата Сообщение от DrOffset Посмотреть сообщение
Я надеюсь вы понимаете, что данный вопрос не имеет прямого отношения к С++?
Да.
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
30.01.2020, 14:56
d7d1cd, я это написал к тому, что программисту мало одного знания языка программирования, чтобы успешно работать. В С++, возможно, это чаще проявляться будет, а так в принципе это касается всех ЯП. Дискретная математика, логика, теория автоматов, комбинаторика, теория множеств и т.д прямо или косвенно нужны нормальному программисту, как бы скучно все это не звучало
Сейчас, в отличие от тех времен, когда, например, я учился, огромное количество хорошей литературы. Так что без всяких ВУЗов можно нагнать эти знания при желании.
1
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
30.01.2020, 15:05
Цитата Сообщение от DrOffset Посмотреть сообщение
Сейчас, в отличие от тех времен, когда, например, я учился, огромное количество хорошей литературы. Так что без всяких ВУЗов можно нагнать эти знания при желании.
Для начала достаточно одного Кнута. Можно будет заодно нагнать и то что в школе прогуляли, благо мат-аппарат разжевывается весьма неплохо.
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
30.01.2020, 15:07
Цитата Сообщение от Renji Посмотреть сообщение
Для начала достаточно одного Кнута.
Для начала хватит Кнута, но не всякого хватит на начало Кнута.
2
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
30.01.2020, 15:28  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Так что без всяких ВУЗов можно нагнать эти знания при желании.
...и наличии свободного времени. Хотя, скажут многие, если не находится свободное время, значит нет желания

Цитата Сообщение от Renji Посмотреть сообщение
Для начала достаточно одного Кнута. Можно будет заодно нагнать и то что в школе прогуляли, благо мат-аппарат разжевывается весьма неплохо.
Как полностью книга (или книги?) называется?
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
30.01.2020, 15:52
Цитата Сообщение от d7d1cd Посмотреть сообщение
Как полностью книга (или книги?) называется?
Дональд Кнут "Искусство программирования".
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.01.2020, 15:52

Создание пользовательского типа данных
Здравствуйте, мне нужно создать свой тип данных,чтобы он мог принимать ограниченное количество целых значений (например, от 0 до 50). Как...

Вектор пользовательского типа данных
Имеется класс: class Students { public: void set_name(string student_name) { name = student_name;...

Вектор пользовательского типа данных + наследование
Доброго времени суток. Дело в чём: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; class A { ...

Сохранение данных пользовательского типа в list из stl
Здравствуйте. Пишу программу реализации списка. #include &lt;iostream&gt; #include &lt;iterator&gt; #include &lt;string&gt; #include...

Добавление своего типа данных в map
Приветствую всех. Сделал тестовый пример: class A { public: A() { cout &lt;&lt; &quot;A() &quot; &lt;&lt; endl; } ~A() { cout &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru