#29. Операторы const_cast и reinterpret_cast | Уроки ООП C++
Вставка
- Опубліковано 1 тра 2024
- Практический курс по C/C++: stepik.org/course/193691/
Телеграм-канал: t.me/java_and_c
Инфо-сайт: proproprogs.ru/cpp_oop
Порядок и особенности работы операторов const_cast и reinterpret_cast. Зачем и для чего введены новые операторы приведения типов в языке C++.
Спасибо что ты существуешь!!! Уроки просто бомба!🎉🎉🎉
Спасибо большое за твой труд друг!
Спасибо. Когда-нибудь пригодится.
Отличные уроки, начал погружаться в C++ в т. ч. и по этим урокам. Понравилось, что некоторые уроки раскрывают детали хранения в памяти.
Сергей, на cppreference по c-style касту указано, что компилятор будет будет последовательно применять все виды кастов, начиная с const_cast, пока не получит результат, устраивающий его по каким-то критериям. С пользовательской точки зрения одно только это будет явно означать, что c-style каст применять категорически нельзя, поскольку это прямой путь к неопределенному поведению.
Возможно, где-то дальше по курсу или в последующих его редакциях этого раздела нужно этот момент обязательно подчеркнуть, чтобы у зрителей/студентов не складывалось впечатление, что в принципе это допустимая конструкция, хоть и устаревшая.
Спасибо за видео. Непонятен момент на 11:36. Почему если я сделаю так, ptr_3d->z = 123; , то все скомпилируется, но при попытке вывода std::cout
Спасибо за очередной урок!
Вдохновившись вопросом catsaur5991, скомпилировал код с 11:36, добавив на 16-й строке "ptr_3d->z = 123". Программа упала с ошибкой "*** stack smashing detected ***: terminated".
В принципе, если в C закастить меньшую структуру к указателю на большую структуру и обратиться к полю из большей структуры, то программа, ожижаемо, упадёт.
В чём тогда смысл этих операторов преобразования?
Конечно, упадет! )) Чудес здесь никаких нет. Просто эти операторы визуально подчеркивают и выделяют в тексте программы факт различных типов преобразований, вот и все. Ну и ограничены по действию своей областью действия.
@@selfedu_rus Ну тогда такое. Это и ide подсветить может. Или компилятор с варнинг выдать.