Czym się różni reinterpret_cast od rzutowania??

0

Jak w temacie.
Jest jakaś różnica czy można tego używać zamiennie ??

0

reinterpret_cast to rodzaj rzutowania, więc czym się różni od... czego?

0

W symfonii jest wyjaśnienie tego tematu.
http://en.cppreference.com/w/cpp/language/reinterpret_cast

2
  • static_cast programista mówi kompilatorowi, że logika aplikacji gwarantuje iż konwersja jest prawidłowa lub jest prosta w wykoaniu, kompilator jedynie spradza czy taka konwersja jest faktycznie możliwa i nie generuje żadnej weryfikacji w trakcie wykonywania kodu.
  • dynamic_cast tak jak static_cast tyle, że kompilator generuje kod, który w trakcie wykonywania weryfikuje poprawność konwersji. By zadziałało z weryfikacją wymagana jest tablica wirtualna (typ wyjściowy musi mieć przynajmniej jedną metodę wirtualną)
  • const_cast pozwala jedynie na ściągniecie lub dodanie modyfikatorów const volatile, typ podstawowy pozostaje bez zmian. Mało użyteczne. Najczyściej w celu rozwiązywania problemów ze starymi bibliotekami.
  • reinterpret_cast programista mówi kompilatorowi, wiem co robię traktuj te dane binarne tak jakby były zadanego typu (coś jak manipulacja na unii z C). Nie jest dokonywana jakakolwiek weryfikacja.

rzutowanie w stylu C działa jak static_cast.

1 użytkowników online, w tym zalogowanych: 0, gości: 1