日経BP発行の日経ソフトウェア2006年2月号(12月24日発売)に拙著の下記記事が掲載されています。
基本はいつもC言語 第8回 データをまとめて効率化 構造体に情報を結集させる
ちなみに、日経ソフトウェアは、他の日経を関するパソコン関連雑誌と異なり、普通の書店で購入できます!。売れ筋パソコン雑誌の1つなので、割と多くの書店で見かけます。お手にとってご覧下さい。
むかしむかし §
むかしむかし。
まだパソコンがDOSで動いていた時代。
ウィンドウ管理ソフト(フレームワーク)の自作をCで試みたことがあります。
(ちなみに、ENIXから発売されたライヒスリッターというPC-9801用のゲームで使用されているウィンドウシステムの原型となったもの。私の手を離れた後でたぶん跡形もなく改変されていると思うけど……。少なくともlook & feelは別物になっていました)
そのとき、ウィンドウが持つ情報(位置やサイズなど)と、そのウィンドウにイベントが発生した場合の動作(振る舞い)を示す関数ポインタを含む構造体を作成しました。試行錯誤の末、それが最前らしいと分かったためです。
後からC++を学んだとき、C++のクラスと似ていることに驚きました。結局、Cで原始的なオブジェクトの原型のようなものを実装してたわけですね。
というわけで、今回はそういう展開もあり得る素敵なCの構造体を解説しています。