reinterpret_cast С++ оператор приведения типов
Оператор приведения reinterpret_cast может преобразовывать:
1) Один тип в другой;
2) Указатель одного типа к другому типу;
3) Тип данных к указателю другого типа.
Контроль корректности действий лежит на программисте.
#include <iostream> // cout
using namespace std;
int main(){
float* pf = new float(3.14f); // Указатель на число с плавающей точкой и значением 3.14f
//int* p = pf; // Ошибка! Нельзя конвертировать float* в int*
int* pi = reinterpret_cast<int *>(pf); // Привели float* в int*
cout << *pi << endl; //1078523331 Так как приведение некорректное, в переменной - мусор
}
2023-10-22
Понравилась страница?
Добавить в закладки
Или поделиться!
Связанные темы
not оператор С++ альтернативный "Логическое Не" ! not_eq оператор С++ альтернативный "НЕ РАВНО" != operator C++ перегрузка операторов в классе or альтернативное наименование оператора || (Логическое ИЛИ) or_eq альтернативное наименование оператора |= (Побитовое ИЛИ) reinterpret_cast С++ оператор приведения типов sizeof С++ оператор возвращающий размер переменной или типа данных в байтах static_assert С++, С++ проверка ошибок на этапе компиляции static_cast С++ оператор приведения типов xor C++ оператор альтернативный ^ (побитовому исключающему ИЛИ) xor_eq C++ альтернатива оператору ^= (Исключающее ИЛИ равно)