🧨 Задача на выходные: битовое поле, которое лжёт
Сделали компактную структуру флагов. Записали
Задача: объясни, почему однобитное знаковое поле хранит не то, что ждёшь, и какое значение реально читается. Как объявить поле правильно?
💬 Кто наступал на эти грабли — пишите в комментариях.
📍Навигация: Вакансии • Задачи • Собесы • Канал в Max
Библиотека C/C++ разработчика
#междусобойчик
Сделали компактную структуру флагов. Записали
1, сравниваем с 1 — не сходится. Призраки?struct Flags { int active : 1; };
int main() {
Flags f;
f.active = 1;
if (f.active == 1)
std::cout << "ok\n"; // не печатает!
}Задача: объясни, почему однобитное знаковое поле хранит не то, что ждёшь, и какое значение реально читается. Как объявить поле правильно?
💬 Кто наступал на эти грабли — пишите в комментариях.
📍Навигация: Вакансии • Задачи • Собесы • Канал в Max
Библиотека C/C++ разработчика
#междусобойчик
Что вернёт программа?
Anonymous Quiz
11%
Неопределённое поведение
38%
1
10%
Ошибка компиляции
35%
2
7%
Зависит от компилятора