|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|||||||
Небезопасность приведения. Не понимаю Прата14.04.2017, 00:08. Показов 6808. Ответов 61
Метки нет (Все метки)
О коде, который описан в книге, слегка переправлен мной:
Проясните, пожалуйста, о чём речь.
0
|
|||||||
| 14.04.2017, 00:08 | |
|
Ответы с готовыми решениями:
61
Прата С. 6.6 С.Прата, задача 3.5 |
|
Комп_Оратор)
|
||
| 14.04.2017, 15:23 | ||
|
Кликните здесь для просмотра всего текста
СССР
Наркоман (на учёте в ментовке) достал кусок дури и ищет где бы его в квартире спрятать. Стоит посреди комнаты и рассуждает: -Положу-ка я его в морозилку. Придёт участковый, пошарит кругом и спросит:-"А что, у тебя в холодильнике?". Найдёт гад! -Тогда в телевизор можно засунуть, - продолжает он. И проговаривает снова сценарий очередного визита славного представителя районной милиции. Придёт участковый, пошарит кругом и спросит:-"А что, у тебя в холодильнике?". А я тут такой весь не приделах: -"Смотрите Афанасий Никонорыч!" и открываю холодильник. А там нет ничего. С минуту бедолага стоит в комнате счастливо улыбаясь и уже было двинулся к телевизору, но вздрогнул, и остановился в мрачной задумчивости. -А ведь после холодильника, он как пить дать спросит :-"А что у тебя в телевизоре!" И опять спалит меня с потрохами. -А что если на антресоль спрятать? Так... Стоп. - Давай сначала! Придёт участковый, пошарит кругом и спросит:-"А что, у тебя в холодильнике?" А там нету! Это хорошо. Тогда он спросит :-"А что у тебя в телевизоре!". А там тоже нет! И это хорошо! Тогда он спросит-таки :-"А что у тебя на антресоли!". Сквозь остекленение прорезается улыбка просветлённого счастья и он глядя на пакет в руке как на череп Йорика восклицает: -Как мы его! Ведь антресоли-то у меня и нету, а искать-то больше и негде!!!
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 14.04.2017, 15:38 [ТС] | |
|
Да я про указатель на наследника понимаю. Меня с толку сбивает упоминание о базовом классе в оригинальном тексте книги.
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 14.04.2017, 15:48 [ТС] | |
|
0
|
|
|
Комп_Оратор)
|
||
| 14.04.2017, 15:52 | ||
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 14.04.2017, 15:54 [ТС] | |
|
Ничего, что объект базового класса и указатель на наследника по природе своей вообще различные существа?
0
|
|
|
Комп_Оратор)
|
|||
| 14.04.2017, 15:59 | |||
|
0
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||
| 14.04.2017, 16:14 [ТС] | ||
|
Я читаю в прямом смысле буквально. В итоге не вижу вот этого:
Так же я не вижу, что программа что-то ожидает необычного от объекта базового класса. Я могу видеть только то, что человек ошибочно может предположить, что в производном классе будут доступны поля, которые для самого производного класса описаны, но из-за зарождения насильственным способом, применённым к объекту базового класса, по факту не существующие.
0
|
||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|||
| 14.04.2017, 16:30 | |||
|
"программа ожидает, что объект базового класса содержит свойства производного класса"
0
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 14.04.2017, 17:25 [ТС] | |
|
С каких это пор адрес объектом стал?
Добавлено через 52 минуты Жертва грабителя банка точно также замешана в преступлении, как в обговариваемом примере объект базового класса замешан в плохом поведении программы.
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|
| 14.04.2017, 17:55 | |
|
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 14.04.2017, 18:53 [ТС] | |
|
Жертва преступника тоже в банке находится, когда грабитель грабит людей забредших в банк. Посадим же в темницу сырую всех, справедливости ради.
0
|
|
|
Комп_Оратор)
|
|||
| 14.04.2017, 19:00 | |||
|
Тут есть очевидный выход. Не читайте книжки Пратта.
0
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 14.04.2017, 19:43 [ТС] | |
|
Первое - не понял.
Второе - в курсе. Опять же, объект базового класса ни при чём, он только жертва обстоятельств. И именно он страдает, потому что все (насколько я могу сейчас оценить), включая Прата и других толковых специалистов, обвиняют объект базового класса в принесении беды, мол программа от него чего-то ждать будет такого, что он дать не сможет, вот только именно от объекта базового класса ничего программа ждать не будет, а от объекта, созданного в результате опасного приведения, будет ждать столько же, сколько футбольные болельщики от футболистов России ждут. Объект, созданный в результате приведения, и имеющий тип производный класс не является объектом базового класса, хоть и указывается ему начало объекта базового - он другой объект. Адрес - это адрес. Объект - объект.
0
|
|
|
Комп_Оратор)
|
||
| 14.04.2017, 19:59 | ||
|
Последний раз: При приведении указателя создаётся указатель. Объекты остаются прежними (кроме указателя как объекта). Потом указатель предоставляющий доступ в соответствии с типом становится потенциально опасен. Это могло бы звучать для родителя так: Назвался производным, - полезай в наследника. // там останется много места не принадлежащего родителю, но указатель не знает об этом и будет тупо адресовать если его попросят. Сентенции о том, что программа/компьютер/реальный мир не виноваты, а виноват пользователь/кодер тут не причём. Это та же литература. Тут правильно сказали. Повторите указатели. Потом приведение указателей. Фразы вроде "я в курсе" не катят.
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 14.04.2017, 20:17 [ТС] | |
|
У Прата есть технические неточности и недоговорённости, причём недоговорённости такие, какие лучше бы озвучены были.
Я же написал, что читаю буквально. Здесь имеет место техническая неточность. А то, что Вы мне тут сейчас доказываете, что адрес один, значит и объект один - фигня всё. Я не хочу представить сиё, потому что в таком искажённом виде, какой мне сейчас подаётся, представлять информацию не есть гуд. Мне не важно, холодно Прата или тепло, чихает ли он из каждого о нём упоминаия или нет.
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 14.04.2017, 20:29 [ТС] | ||||||
|
Ещё раз говорю, фигня это всё.
0
|
||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||
| 14.04.2017, 23:08 | ||||||||
|
Если бы вы четко понимали что указатель это адрес ячейки и как следствие тот факт что то что находится в этой ячейке никак не зависит от того как код ее содержимое интерпретирует код у вас бы подобных вопросов не возникало бы. Добавлено через 23 минуты А именно:
0
|
||||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 14.04.2017, 23:32 [ТС] | |
|
Я тут один говорю, что адрес - это адрес, вообще-то.
Все дружно пишут, что адрес - объект. Нет, не объект. А то, что он объект - полная фигня. И в примере это прослеживается. Напрямую зависит - конкретный объект интерпретируется как конкретный объект, а не как дяд Вася с хаты с краю. Базовый класс интерпретируется как базовый класс. Производный как производный и базовым классом не является, несмотря на то, что два разнотипных указателя в одной точке сходятся.
0
|
|
| 14.04.2017, 23:32 | |
|
Прата задача 6.9 C++ - Прата задача 6.9 Прата, задача 2, глава 6 Прата, аргументы по умолчанию Прата -> Шлее = PROFIT? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как замкнутый ядерный цикл решит проблему недостатки фосфора? Био миграция фосфора со дна океана
anaschu 26.06.2026
Биологический лифт: Концепция подъема фосфора со дна океана с помощью ЗЯТЦ
Предлагаю на обсуждение альтернативу тяжелому промышленному бурению океанического дна. Вместо сложной инженерии мы можем. . .
|
сукцессия 5
anaschu 26.06.2026
ПЛАН РАЗРАБОТКИ математической модели сукцессии микоризных систем
Переход AM → EcM (Endo + ErM) · Шумилов А. С. · ИФХиБПП РАН · Пущино · 2026
. . .
|
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки
План доработки модели динамики микоризных симбиозов (EcM с гистерезисом)
Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
|
сукцессия 3
anaschu 25.06.2026
Примерный план работ по модели
|
|
сукцессия 2
anaschu 25.06.2026
параметризировочная калибровочная таблица будущей модели
|
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание:
как одно здание порождает конфликты требований,
которые никто не планировал
Материалы для обсуждения с МГСУ · 2026
Рисунки внутри приложенного ворд файла.
Что за. . .
|
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования?
Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная.
Где разрыв
. . .
|
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно»
Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
|