- 648 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 16:06:54 ]
- >646
試してみましたが自分の環境では ~= の前後ではアドレスは変わらなかったです。 そして引数で渡したときはアドレスが変わらず、返値で返した場合はアドレスが 変わっていました。 class CTest{ int[] Nums; this(){ Nums ~= 1; Nums ~= 2; Nums ~= 3; } int[]* GetpNums(){return &Nums;} } void main(){ CTest Test = new CTest; int[]* pNums = Test.GetNums(); *pNums ~= 4; } と配列のポインタを返すようにしたらできました。 ただ、これだとGCがちゃんと返した配列のポインタを追ってくれるのかが不安だったり。 うーん、いまいち配列の扱いがわからない。 やはりクラスでラップするのが安全なのかなぁ。
|

|