Lorsque je lisais le code source de Seastar , j'ai remarqué qu'il existe une structure d'union appelée tx_side
qui n'a qu'un seul membre. Est-ce un hack pour résoudre un certain problème?
Pour info, je colle la tx_side
structure ci-dessous:
union tx_side {
tx_side() {}
~tx_side() {}
void init() { new (&a) aa; }
struct aa {
std::deque<work_item*> pending_fifo;
} a;
} _tx;
union
au lieu de struct
est une ou plusieurs des différences entre les deux. C'est une technique assez obscure, donc à moins que l'auteur original de ce code ne vienne, je ne suis pas sûr que quelqu'un puisse vous donner une réponse faisant autorité quel problème il espère résoudre avec cela (le cas échéant).