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

Мой вопрос касается указания на фрагменты памяти нечетного размера.

Допустим, у меня есть структура, объявленная следующим образом:

typedef struct{
   int32 val1  : 29; 
   int32 val2  : 26;
   char  val3;
}MyStruct;

Предположим, что желательно объявить определенные битовые поля в структуре (почему мы будем использовать битовые поля, вопрос не в этом).

Если бы я хотел объявить указатель, указывающий на одно из этих полей, я мог бы попробовать что-то вроде этого:

MyStruct test;
int32 *myPtr = &(test.val1);

За исключением того, что это приводит к ошибке "получение адреса битового поля не разрешено]».

Предполагая, что мы хотели бы, есть ли способ указать на эти поля таким образом? Я знаю, что С++, вероятно, дополнит поля до следующего байта (в данном случае это будет 32 бита).

5
задан user1205577 19 June 2012 в 11:59
поделиться