オペレーターについていくつかのチェックを行いましたが:=、問題がないことを確認したいと思います。
させて -
val r1 = ref 1 ; (* !r1 = 1 *)
val r2 = ref 2 ; (* !r2 = 2 *)
val r3 = ref 3 ; (* !r3 = 3 *)
r1 := !r2 ; (* !r1 = 2 *)
r2 := !r3 ; (* !r2 = 3 *)
!r1 ; (* still !r1 = 2 *)
r2 := !r3 ;どうやらそれによって!r1値も変更されると思いました が、発生しませんでした。そのため、と同じアドレスをr1 := !r2 ;指していないようですが 、新しいメモリを割り当ててそこに値 を設定するだけです。r1r2!r12
私は正しいですか?