Sto prendendo il mio primo sguardo nell'API di Windows e quando ho incontrato WNDCLASSX non ho potuto fare a meno di chiedermi perché il suo membro, cbSize, esistesse. La descrizione di cbSize, per MSDN è: la dimensione, in byte, di tale struttura. Impostare questo membro su sizeof (WNDCLASSEX). Assicurarsi di impostare questo membro prima di chiamare la funzione GetClassInfoEx. Questo lo descrive e suggerisce il suo scopo, ma non intendo la necessità.Perché una struttura può memorizzare le proprie dimensioni?
La mia domanda è questa: perché una struttura deve mai memorizzare le proprie dimensioni? Nessuna funzione che gestisce la struct può accedere a tali informazioni usando sizeof?
La mia ipotesi: convincere. Inoltre, l'efficienza è molto più efficiente per eseguire sizeof (qualcosa) una volta e memorizzarlo, quindi utilizzarlo più e più volte, piuttosto che eseguire sizeof ripetutamente. –
'do_something_with ((struct foo *) i_am_a_bar_ptr);' –
versione-assist e piattaforma della macchina sono due motivi comuni. – WhozCraig