怪しげなコード

仕事中に「これなにー」と質問されて、どれどれと見てみたら次のような引数を取る関数がありました。

void func(double** hoge);

見るからに二次元配列でしょー、と何も考えずに答えていたのですが、関数の呼び出し側を見て慌てふためき前言撤回。

double* hoge = 0;
func(&hoge);

要するに、 func の中で hoge の領域を動的に確保したり操作したりするための、ダブルポインタだったわけです。ライブラリでこういう実装してしまうのって結構邪悪な気がするけど、どうなんでしょ。

まあ、本質的に似たようなことをやった(id:wata_d:20050709)自分があまりぬけぬけと言えることでもないですが。