class posrednik {
callAction(actionEnum, parameters) {
case some_action:
// Tutaj odpalam jakaś metodę/y z innej klasy
someclass.getSomething();
someclass.zrobCos();
break;
}
case action2:
otherclass.children.doSomething();
break;
}
I tak dalej taki pośrednik. Ze mam różne klasy, a tam różne metody i je odpalam tym pośrednikiem. I chodzi o to, że tu jest dość wysokie sprężenie się robi i ktoś wie jak
Zagadka nr 8. Jakiego outputu programu się spodziewasz?
Jakiego outputu się spodziewasz
http://www.catb.org/esr/structure-packing/
Jak masz niewyrównane dane i chcesz je np. odczytać jako int to najpierw musisz zrobić memcpy pod adres prawidłowo wyrównany do rozmiaru int i dopiero potem
Na podstawie Twojego przykładu kodu, jakbyś napisał tak:
Foo f;
int* foo = &f.x2; // UB, bo nie jest dozwolone utworzenie wskaźnika na int, który nie jest wyrównany do rozmiaru int
To że działa nie oznacza że jest poprawne
Standard C:
A tu masz bardziej łopatologicznie wytłumaczone, dlaczego tak nie wolno: https://stackoverflow.com/questions/70980038/how-to-properly-access-packed-struct-members
I jeszcze taka informacje znalazłem: