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

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




前橋です。

遠藤さん:
>>  あれ? Javaの参照(変数)は、ポインタ値そのものではないですか?
>
>でもポインター演算できないです。

ポインタ演算できることは、別にポインタの必須条件ではないでしょう。

先のメイルでもちらっと書きましたが、C/C++にある「ポインタ演
算」という *妙な* 機能は、少なくとも私は、コンパイラの最適化
を手抜きするためのものだと思っています。

今のC/C++コンパイラなら、そんなことはちゃんとやってくれるの
で、明示的にポインタ演算を使う必要はないです。

もちろん、Cにおいて、

  a[i]

というのは、

  *(a+i)

の syntax sugar でしかないので、ポインタ演算を使わない、と言
うとちょっとどうかな、という気もしますが... でも、a[i]と書い
た時、普通のプログラマはこれは配列アクセスだと思っていますよね。

>その生涯を通じて同じ物を指すことが「ある程度」保証されています。

少なくともJavaの場合、これは嘘でしょう。代入するだけでいくら
でも指す先を変えることが可能なはずです。

「Javaにはポインタがない」と書いてある本は全て焚書に処すべし、
と内心思っている私(^^; としては、書きたいことはまだまだある
けど時間がないのでまた後で...

# 「Javaにはポインタがない」と書いてある本を全て焚書に処した
# ら、書店のコンピュータコーナーの一角が完全に消滅してしまい
# そうですね。

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