[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: ポインタと参照




前橋です。

Javaの話からだんだんズレていきますが(_o_)

遠藤さん:
>>ダファイルのプロトタイプ宣言のみ、それが、void *だったら、私
>>はキレてしまいますです。
>さすがにこれは見た事無いです私の場合。

たとえば、すごく巨大なライブラリなのに、

・関数がひとつしかなくて、
・ひとつめの引数が「機能コード」(型はint)
・ふたつめの引数が、void*、または、全部一緒の詰め込み構造体
  (当然、機能コードによって、どのメンバが有効かが決まる)

こんなのとか(^^;

いや、世の中には、こういうのを好きな人がいるんですよ...

ま、

本当は、「intの配列(要素数5)のポインタを引数として、intの配
列(要素数5)のポインタを返す関数のポインタ」を引数として渡し
たかったんだけど、宣言の仕方がわからずに、void*にしちゃった。

とかいう場合もありますが。これは同情の余地があるような(^^;

# typedefを使えば書けると思うんですけどね

私の場合、色々変なこともやるので、void*相当の型を使うことも
実はちょくちょくあるのですが、そういう場合も、可読性を損なわ
ないよう、typedefするようにしています。コンパイラがはねてく
れないので、効果のほどはさだかではないですが。

# 間違って別の所で別のtypedefで使っちゃったりすると、逆効果。

というわけで、Javaの話に持っていきますと、

  「Javaに、genericと typedefと enumが欲しい!!」

ってのは駄目でしょうか?

以下は余談ですが、

>長くてわからないコードは捨てて書き直したり、
>全く同じ動作をするコードを自分で書いて使ったりしていました。
>要は大規模開発は経験していないのです。^^;

棄てて書き直したいのは山々なれど、どう動くのが正解なのかすら、
もはや誰にもわからない、というのが多いです(;_;)

------------------------------------------------------------
  前橋 和弥                             maebashi@xxxxxxxxxx
  中部ソフトエンジニアリング(株)
    〒450 名古屋市中村区名駅4-10-25(名駅IMAIビル 5F)
    Tel:(052)583-4511(代) 内線 252 Fax:(052)583-4566
------------------------------------------------------------