タグ

C++とJavaに関するWK6のブックマーク (2)

  • Java の参照と C++ の参照の違い - Cube Lilac

    kimuraya Javaでは、参照型を引数として渡す時は、C++で言う参照渡しに相当する処理を行っているようだな。そうでないと、Javaの動作は説明出来ない。 bleis @kimuraya よくある勘違いですけど違いますよ。Javaで参照型を引数として渡すときは、意味的にはC++で言うポインタ渡しに近いです。 数日前に関数引数の参照渡しの話が盛り上がっていたのですが,この話は今まで私も混同していました.TL を眺めていた時点では,説明している人達の言ってる事がよく理解できていなかったのですが,後で下記のコードを実行したところ,この時に言われていた事が少し理解できました. class Foo { public Foo(String s) { message = s; } public String toString() { return message; } private String

    Java の参照と C++ の参照の違い - Cube Lilac
  • 値渡しと参照渡し (と参照の値渡し) - ぐるぐる~

    値渡しと参照渡しは、分かってしまえば何も難しいところはないんだけど、分かるまでにちょっとした壁があるというかなんとうか・・・ てことでちょっとまとめておきますねー 値渡し (call-by-value) と参照渡し (call-by-reference) の違い 値渡しと参照渡しの違いは、「呼出し元の値自体を変更できるかどうか」と説明されることが多い。 しかし、例えば Java ではミュータブルなオブジェクト *1 を渡した場合、呼出し元の値自体を変更できるという勘違いをする可能性があるため、この説明はあまり好ましくない。 そのため、参照渡しを「呼出し元の別名を渡している」と覚えるのが分かりやすいと思う。 値渡しは「何かの値をコピーして渡している」と覚える*2。 Java の場合 Java には値渡ししか存在しないが、「参照型」のためにややこしく感じる。 参照型は参照渡しとは無関係で、C

    値渡しと参照渡し (と参照の値渡し) - ぐるぐる~
  • 1