Вопросы по теме 'reinterpret-cast'

Вызов функции-члена нулевой структуры данных, которая была преобразована из несовместимого типа - Undefined?
Существует прямая структура C, объявленная в немодифицируемом заголовке. Я хотел бы «виртуально» добавить к нему удобные функции-члены. Очевидно, что моим первым выбором было бы расширение структуры и добавление методов в производный класс. Не...
168 просмотров
schedule 29.10.2022

Множественное наследование и указатель this
Предположим, у меня есть эта структура: struct vector_data { double x, y; double& operator[](size_t index) { return * (static_cast<double*>(static_cast<void*>(this)) + index); } }; Оператор[] должен...
3367 просмотров

нестатическая функция-член reinterpret_cast не удалась
код: #include <iostream> using namespace std; struct item { int f1() {} double f2() {} static int g1() {} static double g2() {} void f0(); }; void item::f0() { auto c1 = reinterpret_cast<decltype(f2)>(f1);...
251 просмотров
schedule 15.02.2024

Почему это reinterpret_cast не работает в Visual Studio?
У меня есть код (см. Ниже), и, как ни странно, он отлично компилируется, когда я запускаю код через gcc, но когда я открываю тот же файл в Visual Studio 2017, я получаю ошибку компилятора на мелодию: Error C2440 'reinterpret_cast': cannot...
903 просмотров
schedule 15.11.2023

Почему reinterpret_cast работает в частном наследовании
Я читал о спецификаторах доступа при применении наследования и знаю, что в private inheritance мы не могли преобразовать производный класс в базовый, используя указатели/ссылки. Но когда я использовал reinterpret_cast , это сработало. ниже мой...
251 просмотров
schedule 06.11.2022

Ошибка reinterpret_cast или UB?
Рассмотрим следующий код: #include <cstdint> #include <algorithm> std::uintptr_t minPointer(void *first, void *second) { const auto pair = std::minmax( reinterpret_cast<std::uintptr_t>(first),...
579 просмотров

Где я могу узнать, что на самом деле делает std::launder?
Я пытаюсь понять, что делает std::launder , и я надеялся, что, найдя пример реализации было бы понятно. Где я могу найти пример реализации std::launder ? Когда я посмотрел в lbic++, я увидел такой код template<typename _Tp>...
1365 просмотров
schedule 26.11.2023