私はWindows APIを初めて見ていて、WNDCLASSXに遭遇したときに、そのメンバーがなぜcbSizeであるのか不思議に思うのを助けることができませんでした。 cbSizeの説明はMSDNによるこの構造体のサイズ(バイト単位)です。このメンバをsizeof(WNDCLASSEX)に設定します。 GetClassInfoEx関数を呼び出す前に、必ずこのメンバを設定してください。これはそれを記述し、その目的を示唆していますが、私は必要性を否定しません。構造体が独自のサイズを格納するのはなぜですか?
私の質問はこれです:なぜ構造体が独自のサイズを格納する必要があるのですか?構造体を扱う関数がsizeofを使用してその情報にアクセスすることはありませんか?
私の推測:convince。効率性は、sizeofを(何か)実行してからそれを保存し、それを何度も繰り返し使用することが、sizeofを何度も実行するよりはるかに効率的です。 –
'do_something_with((struct foo *)i_am_a_bar_ptr); ' –
バージョンアシストとマシンプラットフォームは、2つの一般的な理由があります。 – WhozCraig