Cでオブジェクト指向フレームワークを作る (0)
…という試みをすると,多くの人にとって,結局「C++って便利だね」というオチになりそうな気もするが,思考実験として取り組んでみようと思う。
とっかかりとして「C オブジェクト指向」で検索してみたらと上の記事が引っかった。上の2つは,基本的な話で少し物足りない。その他の記事についても,キャストとマクロを使っていて,イマイチなところがあった。どちらも便利な機能ではあるけど,設計の意図を分かりにくくするし。静的なエラーチェックも働かなくなる。これから
- マクロは使用しない
- Cのキャストは使用しない
という縛りを付けて,Cをつかってオブジェクト指向プログラミングを行うための規約を作ってみたいと思う。この縛りを付けた理由は,それが言語の性質を生かす,最も適切な方法だからである。
Googleの規約のように,C++の機能を制限して運用するのが現実的かも知れないけど,多機能な言語の機能を絞って使うよりも,言語の機能をフルに生かしてプログラムを組むほうが,精神衛生的には良いはず。
まずは手始めに簡単なところから,C++のポインタの機能をCを使って表現するところから初めてみようと思う。
(つづく)