書き物

技術とか作った物の話とか愚痴文句感想など

Numberとかintを参照渡ししたい

AS2での話ですが、以前こんな記事を書きました。

オブジェクトを代入した変数の正体 - 書き物

newしたオブジェクトは変数にいくつ渡しても、実態はひとつという話です。これって、Arrayとかしか使えないのかしら?


簡単なテストをしてみました。

var num:Number = new Number(100);
var numP:Number = num;
trace("num = " + num);
trace("numP = " + numP);
num = 10;
trace("\nnum = " + num);
trace("numP = " + numP);

エラーは出ず。

僕の期待としては、

num = 100

numP = 100

num = 10

numP = 10

です。numPはnumに渡されたNumberのオブジェクトを指しているので、numの値を変えればnumPにも反映されると...。


しかし現実は厳しく、実際は

num = 100

numP = 100

num = 10

numP = 100

となりました。どう見てもnumとnumPは別物です。


これって、最初の期待のような動作はできないのでしょうか?C言語でもポインタで期待の動作はできるので、何かしら解決策があるような気がするのですが。


# 追記(2007/08/15)

Numberとかintを参照渡ししたい続き - 書き物