C ++ - Как определить смещение байта между базой и полученным классомC++

Программы на C++. Форум разработчиков
Anonymous
C ++ - Как определить смещение байта между базой и полученным классом

Сообщение Anonymous »

У меня есть CRTP-подобная конструкция: < /p>

Код: Выделить всё

class Derived : public Base
Мне нужно вычислить указатель на объект полученного с указателя на базу объект через Reinterpret_cast . Я не могу использовать dynamic_cast , потому что я не использую здесь виртуальные функции.
Типы приведены Полем Мне нужен байт-офф между двумя типами, поэтому я могу использовать Reinterpret_Cast . Как мне это сделать? (Без неопределенного поведения.) Можно ли сделать во время компиляции / сохранить как статическую переменную constexpr < / code>? (Я использую C ++ 20.)

Подробнее здесь: https://stackoverflow.com/questions/794 ... ived-class

Вернуться в «C++»