|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|||||||
Небезопасность приведения. Не понимаю Прата14.04.2017, 00:08. Показов 7270. Ответов 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 / 1576 / 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? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
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, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|