|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|||||||||||
Сортировка для контейнера с указателями28.08.2012, 12:29. Показов 3377. Ответов 26
Метки нет (Все метки)
Понадобилось сделать контейнер указателей, но встала проблема сортировки и типа контейнера :
Как перегрузить сравнение для указателей, а так же как намекнуть set, что указатели равны, и он не multiset? Не по теме: p.s Нормально ли пренебрегать инкапсуляций, если класс, имеющий контейнер объектов/указателей на объекты другого класса - приватит этот контейнер, а класс, находящийся в этом контейнере - публичный, но при этом нигде больше не используется и не имеет статический методов? Что-то типа :
0
|
|||||||||||
| 28.08.2012, 12:29 | |
|
Ответы с готовыми решениями:
26
Сортировка Шелла для контейнера List библиотеки STL Сортировка с указателями Быстрая сортировка с указателями |
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|||||||||||
| 28.08.2012, 15:46 [ТС] | |||||||||||
|
Хм, странно. Думал не сработает, раз перегрузка не сработала.. Почему так? Такое ощущение, что, хоть я и храню в контейнере указатели, они разыменовываются сами..
p.s А что насчет инкапсуляции? Не по теме:
Добавлено через 1 час 45 минут И ещё вопрос. Хотелось бы иметь перегруженную функцию find для set (не способом &(MYSTRUCT)num, и не способом наследования от set) примерно так :
0
|
|||||||||||
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 28.08.2012, 15:54 | |
|
1
|
|
|
Каратель
|
|||||||||||||
| 28.08.2012, 15:56 | |||||||||||||
|
Добавлено через 1 минуту
1
|
|||||||||||||
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
| 28.08.2012, 16:05 [ТС] | |
|
grizlik78, проблема в том, что первый не видит второй, либо наоборот, ведь нельзя указать прототип класса. Хотя, даже если каким-то чудом увидит, вопрос будет в размерах. Ведь размер A зависит от B, а B от A. В таком случае, размер и A, и B - сколько угодно.
0
|
|
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||||
| 28.08.2012, 16:13 | ||||||||
|
То есть в вопросе ошибка, там ведь нет взаимозависимости. Тогда так:
1
|
||||||||
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
| 28.08.2012, 16:14 [ТС] | |
|
grizlik78, и у тебя такое прокатывает? У меня ругань на class B;. Говорит, что переобъявлен класс : o
0
|
|
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 28.08.2012, 16:16 | |
|
Хм. нельзя ли пример, который можно попытаться скомпилировать? Вообще, предварительное объявление работает, проверено электроникой. Конкретно этот пример не проверял пока.
1
|
|
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
||||||
| 28.08.2012, 16:17 [ТС] | ||||||
Вот сама ошибка : error C2039: 'a' : is not a member of 'B'
0
|
||||||
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|||||||
| 28.08.2012, 16:21 | |||||||
|
Вот так компилируется:
1
|
|||||||
|
Каратель
|
|
| 28.08.2012, 16:22 | |
|
nexen, http://liveworkspace.org/code/... 3bfcab4917 ошибок нет
1
|
|
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
| 28.08.2012, 16:23 [ТС] | |
|
Jupiter, find_if идет за O(n). Если перегрузить find - то O(logN)
0
|
|
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 28.08.2012, 16:24 | ||
|
1
|
||
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
| 28.08.2012, 16:26 [ТС] | |
|
grizlik78, оу. Чувствую себя теперь.. не очень >_<""
А вот про find всё же интересно.
0
|
|
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
| 28.08.2012, 16:37 [ТС] | |
|
Jupiter, таки все указатели отсортированы именно по значению num. Ну а раз я ищу тоже по значению num, то и должно быть logN, разве нет?
0
|
|
|
Каратель
|
||
| 28.08.2012, 17:32 | ||
|
как вариант сделать свою функцию(глобальную) которая будет создавать MYSTRUC с нужным значением и вызывать метод find для мапы
1
|
||
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|||||||||||
| 28.08.2012, 18:37 [ТС] | |||||||||||
|
Хочу вернуться к функторам.
Возможно ли сделать так :
error C2227: left of '->_u_ID' must point to class/struct/union/generic type при том, что указано так :
0
|
|||||||||||
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 28.08.2012, 18:52 | |
|
указаны декларации. чтобы обращатся к методам\мемберам класса, в точке этого обращения класс уже должен быть определен, простого объявления недостаточно. т.е. перед кодом b->... должно быть определение или инклуд с определением класса Room, User и т.п.
1
|
|
| 28.08.2012, 18:52 | |
|
Помогаю со студенческими работами здесь
20
Сортировка кучей с указателями Сортировка контейнера list
Сортировка одномерного массива с указателями
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|