Kiedy czytałem kod źródłowy seastar , zauważyłem, że istnieje zwana struktura związkowa, tx_side
która ma tylko jednego członka. Czy to jakiś hack, aby poradzić sobie z pewnym problemem?
Do Twojej wiadomości wklejam tx_side
poniższą strukturę:
union tx_side {
tx_side() {}
~tx_side() {}
void init() { new (&a) aa; }
struct aa {
std::deque<work_item*> pending_fifo;
} a;
} _tx;
union
zamiast struct
jednej jest jedna lub więcej różnic między nimi. Jest to dość niejasna technika, więc jeśli nie pojawi się oryginalny autor tego kodu, nie jestem pewien, czy ktoś może udzielić wiarygodnej odpowiedzi na pytanie, jaki problem ma rozwiązać (jeśli w ogóle).