2002-10-29 (Tue) [長年日記]
_ 値型と参照型
C#では値型と参照型がはっきり別れていてクラスのインスタンスは参照型なので スタックに置くことはできない。 一方、構造体は値型なのでスタックに置くことができる。また、メソッドで値型の 引数の内容を書き換えるために参照渡しも用意されている。
でも、値型と参照型の区別って本当に必要なんだろうか。C#くらい高級な言語では、 Rubyみたいに建前上は「ぜんぶ参照型ですよ」ということにしておいた方がずっと 分かりやすい気がする。GCもあるんだし。
本当にそういうものが必要ならその部分だけ他の言語(C++とか?)で書けばいい。 その方が.NET Frameworkのクロスランゲージというコンセプトに合っている 気がするんだけど。