OGURISU Osamu
oguri****@lagen*****
2004年 11月 25日 (木) 20:00:27 JST
> > なるほど。えっと、shallow copyはオブジェクト内部のスロット > > は、元の参照先と同一オブジェクトをそのまま参照させるような > > コピーですよね。例えば、<u8array>であれば同じ > > backing-storageを共有することになると。(あれ?もとのarray > > と同じshapeのshare-arrayを作るのともしかして同じのような?) > > あ、いや、今回の場合、backing-storageもコピーすることを意図して > います。ただ、<array>クラスの場合、各arrayの要素が差す先の > Schemeオブジェクトは共有されるということです。vector-copyとの > 類似で考えて下さい。均質ベクタの場合は差す先がSchemeオブジェクト > でないので、差は出ません。 あ、そうか。すっかり混乱してました。 昨晩、CVSのext/uvectorを見ていたんですが、テンプレートから の生成がシェルスクリプトからschemeスクリプトに変ったんです ね。一瞬Cベースで追加も簡単と思ったんですが、複素数の場合、 vec->elements[i] = fill; みたいに代入が(C90のcomplex.hでも使わないと)できないから、 特別扱い……それはせっかく良い枠組があるのに面倒とか思った り。Gaucheでは基本的にC90の拡張は使わない方針なんですよね? -- 小栗栖 修 / OGURISU Osamu