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