Очевидно, что в первом варианте CONDITION_C хранится в тех же 2х битах что и CONDITION_A и CONDITION_B. В случае с битовыми полями, под каждый condition выделяется независимый бит. Эти 2 примера не равнозначны - в первом варианте CONDITION_C говорит о том, что выполняется одновременно CONDITION_A и CONDITION_B, во 2м - condition независимы друг от друга. Возможно, имелось ввиду: #define CONDITION_C 0x04 В слечае с POSSIBILITIES всё верно. (но это не флаги, а скорее попытка экономить место, логичнее (?) выделить для этого отдельный байт).
Да, скорее всего. Когда я это читал, меня гораздо больше интересовала сама идея и ее реализация. Я даже, помнится, набросал маленький тест ради этого... и ужаснулся - по крайней мере MS VC 6 с битовыми полями работать не умеет. Не в том смылсе, что не поддерживает, а в том, что не оптимизирует.
Да, imho про замечание заметно более существенное, но есть одна проблема - его доказать.. против авторитета не попрёшь .
Да нет... Голуб - мужик крутой, но сама книга предполагает жуткие споры. Так что, вы продолжайте. Я с очень большим интересом читаю
Я ещё подумал про Джин Голуб (Gene Golub) из Стандфорда. Который с Ван Лоуном про матричные вычисления писал(а)?
Прочитав книгу Голуба я понял две вещи: 1)Я не умею писать программы 2)Маловероятно что я когда-нибудь научусь писать программы