C++/Ключові слова/reinterpret cast
C++. Ключове слово reinterpret_cast використовується для приведення одного типу до іншого побітово. Будь-який вказівний або складний тип може бути приведений до будь-якого іншого за допомогою reinterpret_cast, без перешкод дозволяючи неправомірне використання. Наприклад, за допомогою reinterpret_cast можна, без гарантій безпеки з боку компілятора, привести вказівник на ціле число до вказівника строкового типу. Його використовують для приведення несумісних вказівних типів.
- Синтаксис
TYPE reinterpret_cast<TYPE> (object);
Ключове слово reinterpret_cast<>()
використовується для всіх операцій приведення несумісних типів. Частіше за все такий спосіб приведення використовується при перенесенні застосування з одної платформи на іншу.
Не знімає модифікатори const
і volatile
при приведенні вихідного типу.
Ключове слово reinterpret_cast<T>()
змінить тип виразу без зміни бітового представлення даних. це корисно при приведенні вказівників конкретних типів до типу void*
а потім для повернення до початкового типу.
- Приклад
int a = 0xffe38024;
int* b = reinterpret_cast<int*>(a);