|
|
||||||
Кому интересно поломать голову31.01.2015, 11:51. Показов 4045. Ответов 63
Метки нет (Все метки)
Привет!
Сейчас на работе думал с ума схожу - есть код, который (с виду) работать не должен, но он работает В итоге я разобрался почему он работает, но не сразу.Предлагаю вам подумать в как и когда может работать данный код (выкладываю именно в том контексте, в который я смотрел, больше не скажу, не интересно будет)
0
|
||||||
| 31.01.2015, 11:51 | |
|
Ответы с готовыми решениями:
63
Кому интересно. Покер Бинарные деревья ! кому интересно , сюда!;) прога странно работает=) кому интересно покопать? |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||
| 31.01.2015, 13:24 | ||||||||
|
Кликните здесь для просмотра всего текста
Но как можно было сразу не заметить наследования - хз. У нас такой момент в нотации указан: если нужно подсократить имя базового класса, то его можно называть parent, или созвучно: Parent, myparent, etc.
0
|
||||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 31.01.2015, 13:32 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 31.01.2015, 14:15 | ||
|
А вот в реализацию лишний раз не лезу. Зачем мне тратить время на изучение принципа действия функции, если по её имени итак понятно что она делает? В любом случае, прежде чем разбираться с "как она это делает", я выясняю "что она должна делать". Зная, что должна делать функция, понять, как она это делает обычно уже не сложно.
0
|
||
|
|
||
| 31.01.2015, 16:43 [ТС] | ||
|
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 31.01.2015, 17:23 | ||
|
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 31.01.2015, 17:25 | |
|
Срочно сюда:
cut обсуждать релаксатор.
0
|
|
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
| 31.01.2015, 18:48 | |
|
ой-вей, наследование от стандартного контейнера, нет пути
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 31.01.2015, 19:14 | |
|
0
|
|
| 31.01.2015, 20:01 | |
|
0
|
|
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||
| 01.02.2015, 18:22 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 01.02.2015, 18:49 | ||||
|
при малейшем подозрении на возможную программную ошибку (неконсистентное состояние данных), узел должен немедленно прервать работу всего приложения. (std::terminate, и это без вариантов. Нельзя даже в логи ничего записать. Никаких действий кроме самоликвидации). Это было связанно с тем, что в условиях нестабильности слишком велика опасность непредсказуемого поведения приложения, которое может причинить вред не сопоставимый с убытками от возможных потерь данных. Ну так вот, в этой компании запрещено использовать std::vector, потому что его operator[] может пропустить в релизе выход за пределы диапазона. Вместо него используется наследник. Для которого интерфейс подправлен и лучше отвечает требованиям корпоративного стандарта.
0
|
||||
|
|
|
| 01.02.2015, 21:59 [ТС] | |
|
Даже в STL (не берусь утвержать,что во всех реализациях) адаптеры контейнеров сделаны с помощью композиции, а не наследованием от контейнера.
Я тоже считаю, что наследование от std контейнеров no way.
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 01.02.2015, 22:06 | |
|
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 01.02.2015, 22:11 | ||
|
0
|
||
|
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
|
|
| 01.02.2015, 22:33 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 01.02.2015, 22:47 | |
|
0
|
|
|
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
|
||
| 02.02.2015, 18:32 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 02.02.2015, 19:01 | |||||||
|
Например:
подмешивается ли туда какая то логика самого адаптера, или нет. Вариант с наследованием позволяет определить только те методы, логика которых действительно нуждается в изменении. Это тупо проще и быстрее. --------------------------------------- Кроме того, предположим адаптер должен представлять собой "почти такой же" вектор, изменена лишь логика oparetor[]. Все остальное должно оставаться, как у обычного вектора. При наследовании, построенный во времена с++03, адаптер без усилий со стороны потребителя, и без необходимости править код, автоматически подхватит новые плюшки, такие как emplace_back и др. В то время, как в случае с композицией - кукишь. Там если что-то явно ручками не прописали - само уже ниоткуда не возникнет. ----------------------------------------------------- Итого: При наследовании: минимум работы: определяем только необходимое. новые плюшки подхватываются автоматически. При композиции: максимум работы: определяем даже то, что не нуждается в изменении. новые плюшки добавляются только вручную.
0
|
|||||||
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
|
| 02.02.2015, 22:09 | |
|
hoggy, можно закрытое наследование; писать правда всё равно больше, чем при открытом (и надо будет дописывать при изменении интерфейса адаптируемого класса), но и ненужных при этом свойств открытого наследования тоже нет.
0
|
|
| 02.02.2015, 22:09 | |
|
Помогаю со студенческими работами здесь
40
Шифрование "Лозунговым методом" (кому интересно) В чем интересно загвоздка???интересно разобраться!
Задача для любителей поломать голову Открыта вакансия Программиста 1С - кому интересно? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|