|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.04.2019, 07:26 | #1 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
Прошу замечания
Код:
Код:
Последний раз редактировалось taras-proger77; 23.04.2019 в 06:38. |
22.04.2019, 08:02 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Что это за код?...
POD обычно делают структурами. Обычно "итератор" используют для досткпа в контейнер, а не наоборот. При присваивании надо проверять, что нет самоприсваивания. delete переваривает nullptr Вы возвращаете указатель на TItem, хотя функция говорит, что на TManipulator и нет конструктора. = и == разные операторы, делающие разные вещи. На современных компиляторах ретурн 0 в конце не обязателен. Последний раз редактировалось p51x; 22.04.2019 в 08:06. |
22.04.2019, 18:53 | #3 | |||||
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
Что такое POD?
Это не иттератор. Класс TManipulator не предназначен для перебора. Что здесь наоборот? Есть контейнер. Для доступа к нему ничего лишнего не надо. В контейнере лежат элементы. Для доступа к ним есть манипулятор. Функция Item возвращает манипулятор. Можно было бы вернуть ссылку. Но тогда при выходе за пределы массива софтина упадёт сразу. А так я могу проверить, что вернула функция. В данном случае для простоты сделан массив. В настоящем же классе для доступа используется не индекс, а некое подобие первичного ключа (но реляцией не пахнет) и проверить существование элемента, сравнив параметр возвращающей манипулятор функции с количеством элементов не получится, а сами значения «ключа» поставляет система, так что упростить их валидацию я не могу. Какое возможно решение? Вызвать сначала IsExist и сразу Find? Ага, и дважды искать по всему контейнеру. Настоящее внутренне представление – список. А так один перебор и по его результату можно проверить, найден ли элемент с таким значением «ключа». А если найден, то тогда уже обращаться к нему. Цитата:
Цитата:
Цитата:
Цитата:
Код:
Так читабельней. Цитата:
Последний раз редактировалось taras-proger77; 22.04.2019 в 19:00. |
|||||
22.04.2019, 19:20 | #4 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Гугл и вики вас забанили?
Цитата:
Цитата:
Что за бред? m у вас стековый обеъкт, какой ему нуллптр и делит? какой указатель? Проглядел в приватах. Код:
|
||
23.04.2019, 06:13 | #5 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
|
23.04.2019, 06:38 | #6 | |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
Цитата:
Код:
Он-то стековый, а связан с кучей. Не забывайте, что в нём лежит указатель. Спасибо. Первый раз такой глюк пропустил. |
|
23.04.2019, 06:41 | #7 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
|
23.04.2019, 08:13 | #8 | |||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
Цитата:
Т.е. вы сделали кривую архитектуру, не продумали взаимосвязи и пытаетесь натянуть что-то на что-то. Берете меп и с ключом хендл окна и окну передаете адрес контейнера, оно по хендлу все берет. Цитата:
Какая опасность? Такое ощущение, что вы пришли на форум, чтобы вам сказали, что вы все сделали правильно и плевать вам на все остальное. Могли бы маме показать со словами "смотри я сделаль". |
|||
23.04.2019, 11:56 | #9 | |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
Цитата:
|
|
23.04.2019, 12:01 | #10 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
https://en.wikipedia.org/wiki/POD
Цитата:
Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритмы. Не прошу решить. Прошу помочь! | pascaluser | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 12.10.2012 08:45 |
Замечания к структуре БД | artemavd | БД в Delphi | 13 | 01.05.2009 19:40 |
Замечания к структуре БД | artemavd | БД в Delphi | 0 | 30.04.2009 13:01 |