ぎょーむ日誌 2000-12-15
2000 年 12 月 15 日 (金)
- 0803 起床.
こりゃあ遅刻だな.
急いでもしょうがない.
寝てるあいだにだいぶ汗をかいたせいか
熱は下がったかんじだ.
- 朝飯・弁当の準備.
朝飯.
ここ数日の
無精髭が伸びてきたんで
ひげそり.
- 0827 自宅発.
晴れ.
回復してるはずなんだが
20 分の行程が長く感じられる.
少しまたふらふら感あり.
0846 東京モノレイル流通センター発.
浜松町の気温 7 ℃.
0903 研究所着.
すでにばてばて.
- 今日はコーディングの続ける前に,
Effective C++
を読み直して
今までの部分に問題なかったかどうか点検する.
これは
呪われ言語 C++ の暗黒世界を旅する指針となりうる
数少ない一冊なのである.
- 2 時間ほどかけていろいろな項目を点検してみたが,
いまのところ特にマズいことはやってないようだ.
ただし
「継承した非仮想関数を再定義してはならない」
という注意点に関しては
もう一度コードを見直したほうがよさそうだ.
あ,
仮想デストラクターも入れるべきなんだろうか
(あとで判明したことには -Wall オプション付けて
コンパイルすると,
仮想関数あるのに仮想デストラクター無い場合は
警告が発せられる).
多重継承みたいな奇怪なワザは今回も使ってないし
……
- Effective C++ の第 6 章
「継承とオブジェクト設計」
の最後にまとめられている項目の主題だけを
写してみよう.
- 共通の基底クラスは共通の特徴を意味する.
- public 継承には「その一種である」
という意味がある.
- private 継承には「それを実装手段とする」
という意味がある.
- 層を重ねることの意味は
「それを持っている」か
「それを実装手段とする」
である.
- 純粋仮想関数には
関数のインターフェイスだけが継承される
という意味がある.
- 一般仮想関数には
関数のインターフェイスと
デフォルトの実装が継承される
という意味がある.
- 非仮想関数には
その関数のインターフェイスと
強制的な実装が継承される
という意味がある.
……
なるほど.
継承に関してはこれらの原則に
まずは留意しておけばよいのであろう.
- 今日も周囲は莫伽話でやかましいが,
当方の体力は回復しつつあるし
あまり悩むところのないコーディング問題に
集中して取り組むことができているんで,
まぁ,
無視しながらしのげる.
浜松町独房群で研究するには
心身の修練を要求されるのである.
- 作業の場所を lib_evision ライブラリーから
小川シミュレイターのほうに
移していく.
ここに小川用に特殊化された「目」
EyeOfr を構築しなければならない.
インターフェイスの調整.
まだ手をつけていない PipeTree も念頭に.
- 昼飯の弁当食いつつ,
いつものごとくネット上をふらふら.
ZDNet の PCWeek は更新されなくなった,
と思い込んでたんだけど,
これは
eWEEK
というオンライン雑誌として続いていた.
技術系の未読コラムがたまっているなぁ
……
と同時にいくつもウィンドウ開いたら
Netscape Navigator (standalone)
がいきなり落ちた.
ZDNet のペイジはリソースを浪費してる,
というか,
ともかく Netscape の負担になっている.
- どうでもいいんだが,
日本の計算機系のオンライン雑誌の
コラムは概して貧弱である.
いやいや,
素晴しいのもあるけど,
全体に薄っぺらというか.
なんか新製品のモノ紹介に偏りすぎてんだよなぁ
……
スタパ斎藤
師なんかも
それに縛られてしまって
損をしてるんではなかろーか.
- 新しくなった lib_evision と小川シミュレイターの間の
調整.
ちょっと難しい.
どの程度まで利用者 (シミュレイター側) の
負担とすべきか.
- ついでに
……
新規開発と
解説原稿執筆のため一時的に癒着させていた
小川シミュレイター (2000 年版) と
mlfitting を切り離す.
今後は最尤推定プログラム mlfitting は
完全な独立性を
維持しつづけるであろう
(でないと面倒だ).
どうしても別の系に組み込まねばならんなら,
ライブラリー化するつもりだ.
- 甲山さんから文字化けメイル届く.
EUC でエンコード・コード指定なし,
という救済の余地無いオキテ破りを
やっておられるからである.
おかげで北大・地環研→地球フロンティアという
メイル配送経路では
8-bit コードが通らないと判明した.
- 1610 よーやくにして,
小川シミュレイターに専用化しちゃった
Eye 派生クラス EyeOfr のお試しコンパイルが
通った.
これは単に呼び出しや継承関係など
インターフェイスの整合性が
とれたというだけにすぎない.
- EyeOfr クラスに移管した
TraceGaze 関数すなわち「視線」の
追跡についてはまだである.
あ,
小川用の三次元配置モノである
Vit 派生の VitOfr を作らんといかんな.
こいつでは「視線」があたったときに,
どう処理するか定義してやって
……
- 小川シミュレイター系を構成する
最上位クラスである Forest が持つことになる,
Foliage だの Trunk という
固有の名前と光処理属性与えられた
VitOfr オブジェクトが生成されるのである.
- 2030 すぎまでかかって,
小川シミュレイターを新ライブラリーに合わせる作業.
インターフェイスはだいたいできたんだけど,
ヘッダーファイルの依存関係がややこしくなって
コンパイラーを通らなくなった.
うーん.
- 2040 研究所発.
2050 東京モノレイル浜松町発.
2130 帰宅.
- まぁ,
改造のほうは何とかなるだろう,
と楽観.
晩飯食った後は図書館に返さねばならない
本たちを読みふける.
- 今日の食卓
- 朝 (0815):
米 0.6 合.
ホウレンソウおひたし.
- 昼 (1210):
弁当.
米 0.7 合.
ホウレンソウおひたし.
- 晩 (2150):
うどん.
100 円ショップで買った
3 袋 100 円のやつである.