Я упаковываю логические значения в структуру C++ и хочу инициализировать их все нулями при создании.
Это правильный/безопасный способ сделать это? >
Думаю, что да, но я не уверен на 100 % и хотел бы, чтобы юристы высказали свое мнение...
struct packed_flags {
// All the flags (there's less than 16 of them)
bool f1: 1;
bool f2: 1;
bool f3: 1;
bool f4: 1;
// ...
// Pad the struct to a 16-bit size
uint16_t: 0;
// Constructor to initialize them all to 'false'
packed_flags() {
*(uint16_t*)(this) = 0;
}
} flags;
Подробнее здесь: https://stackoverflow.com/questions/791 ... n-a-struct