Имя пользователя:
Пароль:
 

Название темы: reinterpret_cast
Показать сообщение отдельно

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


На мой взгляд, имеет смысл рассматривать данный оператор только вместе с остальными (dinamic_cast и т.д.). Его использование убирает некоторую неоднозначность, даёт точно понять, что программер хотел получить проcто биты (от машинного адреса).
Код: Выделить весь код
class A; 
class B : public A; 
A a; 
B* b = (B*)&a; <-- фиг его знает, чего надо: то ли адрес как класса А, то ли как В (хотя вероятно, что имелось в виду приведение полиморфных типов) 
B* b = reinterpret_cast<B>(&a);  <-- понятно, нужен адрес а как класса А (хотя мы явно нарываемся на ошибку, для использования методов А надо делать dinamic_cast)
Могу ошибаться, впрочем... Поправьте, если что.

Отправлено: 09:05, 05-05-2004 | #2

Название темы: reinterpret_cast