2007年5月4日の日記

<2007/05/05 2007/05/03>

値型と参照型

ああもう!
値のことは後で考えるとかいってたけど、よく考えたらノード一つ一つには何らかの形で値が含まれるわけだから、ちょっとの手直しならともかく、これから根本的に内容を見直す予定なので、値のことは先に考えておいたほうがよさそうです。
どんな風に根本的に見直すつもりなのかというと、現在はなんとなく基底クラスのポインタをノードに保持させておいて、そのポインタの指している実体は派生クラスという形を取っていたのですが、そうすると値のコピーという点で不都合なことが多いので、最初から全部の型に対応した構造体一つで値を表そうかと考えています。
で、これをそのまま実装すると使用メモリが増えてしまうので、ここらで共用体という今まで私が使ったことのない構造を使ってみようかと思っています。
ただ、共用体といえども大きなクラスを含んだりすると結果的に同じようなことになってしまうので、その点は値型と参照型という形で、まあ、なんというか、値を示す構造体に値の実体を入れるのと実体へのポインタを入れるので分けて、大きなデータの場合はまた別のところで管理して、その管理されているデータへのポインタを値として持っておこうと考えています。
そんなわけで、スキャナの書き換えは中途です。

<2007/05/05 2007/05/03>