C++ продолжить битовое поле базового класса в производном классеC++

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

Сообщение Anonymous »

У меня есть базовый класс с битовым полем

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

enum Enum {
ENUM1,
ENUM2,
...
ENUM8
};

struct Base {
Enum type : 3;
};
Я наследую класс

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

struct Derived : public Base {
bool bf1 :  1;
u32  bf2 : 19,
u32  bf1 :  9;
};
Мне нужно убедиться, что пространство памяти для класса Derived составляет 4 байта (микроконтроллер у меня 32-битный), так как наследуемых классов будет несколько и их нужно сериализовать, а при распаковке по полю "тип" понять как обрабатывать остальные битовые поля.
Надежный ли этот способ? Если нет, то как мы можем сделать это лучше?
Мой компилятор CLang все упаковывает правильно, но я не уверен в надежности этого результата.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ived-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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