Quando eu estava lendo o código-fonte seastar , notei que havia uma estrutura de união chamada tx_side
que tinha apenas um membro. Isso é algum truque para lidar com um determinado problema?
Para sua informação, colo a tx_side
estrutura abaixo:
union tx_side {
tx_side() {}
~tx_side() {}
void init() { new (&a) aa; }
struct aa {
std::deque<work_item*> pending_fifo;
} a;
} _tx;
union
vez de struct
é uma ou mais das diferenças entre os dois. É uma técnica bastante obscura, portanto, a menos que o autor original desse código apareça, não tenho certeza de que alguém possa lhe dar uma resposta autorizada sobre qual problema eles esperam resolver com isso (se houver).