Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Narzut związany z użyciem reinterpret_cast

Ostatnio zmodyfikowano 2014-08-14 21:14
Autor Wiadomość
Maciek
Temat założony przez niniejszego użytkownika
Narzut związany z użyciem reinterpret_cast
» 2014-08-14 12:15:30
Dzień Dobry. Czy ktoś wie dokładnie czy jest jakiś narzut związany z użyciem rzutowania za pomocą reinterpret_cast ? Bo moim zdaniem być nie powinno, bo to przecież nie jest rzutowanie w czasie wykonania tak jak dynamic_cast. Ale oczywiście mogę się mylić. Dzięki za dobre rady.
P-115437
Monika90
» 2014-08-14 13:35:42
A co chcesz rzutować? Np. rzutowanie 32 bitowego wskaźnika na 64 bitowy typ całkowitoliczbowy może wymagać operacji takiej jak sign extension albo zero extension, koszt tego jest znikomy.
P-115443
DejaVu
» 2014-08-14 16:04:13
Wydaje mi sie, ze jego intencja jest rzutowanie wskaznikow wiedzac, ze rzutowanie w gore jest bePieczne.
P-115456
Maciek
Temat założony przez niniejszego użytkownika
» 2014-08-14 16:17:48
Chcę rzutować wskaźnik z typu bazowego do typu pochodnego, żeby skorzystać z funkcji, która w klasie bazowej nie jest dostępna.
P-115458
DejaVu
» 2014-08-14 17:44:30
W tym przypadku nie ma żadnego narzutu. Z punktu widzenia instrukcji procesora wskaźnik jest po prostu liczbą, która nic dla niego nie znaczy. Procesor nie wie i nie potrafi rozróżnić typu danych na jakie wskazuje wskaźnik.
P-115464
Monika90
» 2014-08-14 18:17:55
Chcę rzutować wskaźnik z typu bazowego do typu pochodnego
A skąd wiesz, że ten wskaźnik faktycznie wskazuje na obiekt klasy pochodnej? Do takich rzutowań służy static_cast. Najlepiej jednak przeprojektuj program.
P-115465
DejaVu
» 2014-08-14 19:14:55
Moze miec enuma na podstawie ktorego wie, ze moze rzutowac w gore :) wydaje mi sie ze static cast nie zadziala tu i musi byc reinterpret cast lub rzutowanie brzydkie czyli w stylu C
P-115471
Monika90
» 2014-08-14 20:39:48
Tu musi być static_cast, static_cast potrafi skorygować wskaźnik w przypadku dziedziczenia wielokrotnego, reinterpret_cast tego nie robi.
P-115474
« 1 » 2
  Strona 1 z 2 Następna strona