C++ очень странный язык. В нем если порыться, всегда 
можно найти миллион бесполезных фич.
struct A
{
    char d :6; // ну это всем понятно
    unsigned :4; // опечатки нету ;)
    char c :10; // чему равно (x = a.c = 256) ?
    unsigned :0; // и еще фокус-покус
} a;
Pure ISO C++ :)
Отличный вопрос для собеседований, по-моему. По 
крайней мере по уровню идиотизма -- самое то.
Если хотите быть language lawyer'ом, вот правильные ответы:
unsigned : 4; // просто 4 unused бита в структуре
char c : 10;  // char все равно 8 битный, 
              // а два бита сверху -- просто так :)
unsigned : 0; //  тут произойдет выравнивание 
              // размера структуры до размера,
              // кратного allocation unit.
              // В конце структуры, правда, 
              // бессмысленно это вставлять. :)
Thursday, August 17, 2006
Знаете ли вы, что...
Subscribe to:
Post Comments (Atom)

1 comment:
Hi thanks foor sharing this
Post a Comment