Zajmuję się moim pierwszym spojrzeniem na Windows API i po napotkaniu WNDCLASSX nie mogłem przestać się zastanawiać, dlaczego jego członek, cbSize, istniał. Opis cbSize, według MSDN to: Rozmiar, w bajtach, tej struktury. Ustaw ten element na sizeof (WNDCLASSEX). Pamiętaj o ustawieniu tego elementu przed wywołaniem funkcji GetClassInfoEx. Opisuje to i wskazuje na jego cel, ale nie ignoruję konieczności.Dlaczego struktura może przechowywać swój własny rozmiar?
Moje pytanie brzmi: dlaczego struktura musiałaby kiedykolwiek przechowywać swój własny rozmiar? Czy żadna funkcja obsługująca strukturę nie ma dostępu do tej informacji za pomocą sizeof?
Zgaduję: przekonaj. Również efektywność jest o wiele bardziej wydajna, aby raz uruchomić sizeof (coś) i przechowywać go, a następnie używać go wielokrotnie, niż ma to w założeniu działać wielokrotnie. –
'do_something_with ((struct foo *) i_am_a_bar_ptr);' –
Asystowanie wersji i platforma maszyny to dwa typowe powody. – WhozCraig