• 締切済み

D言語の連想配列をコピーしたい

D言語で連想配列をコピーしたいのですが、 int[char[]] x; int[char[]] y; for(char[] a,int b;x) { y[a]=b; } などと要素を一つ一つコピーするしかないのでしょうか。 もっと効率のよいコピーはないのでしょうか。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

動的配列みたいに.dupとかないので char[][] keys = x.keys; for(int i=0;i<keys.length;i++){ y[keys[i]]=x[keys[i]]; } のようにしないとしょうがないと思います

nagata20000
質問者

お礼

回答ありがとうございます。 やはりそうですか。 これであきらめがつきました。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

どの程度の効率を要求されているか分かりませんが、普通に代入すればよいのでは?

nagata20000
質問者

補足

コピー元の連想配列を残しつつコピーした連想配列をいじりたいのです。普通に代入してはコピー元の連想配列も変わってしまいます。

関連するQ&A

専門家に質問してみよう