【Unity】C#でC言語のmemcopy的なことを行う

2019/04/21DEVELOP, Unity

classを丸ごとコピーしたい。そんな衝動に駆られることがあります。要はCにある様なmemcopy的なことをしたい、しかしC#では少し工夫が必要です。そこで「自作Classの内容をmemcopy風にコピーしたい」を実現するヘルパークラスがこちらです。

ソースコード

参考URL

コピー対象となるクラスにSerializable 属性を付加することで使用できます。

わざわざ変数を代入するより安全で、きちんと中身が漏れなくコピーされるって良いですよね。当たり前のことなんですが、それが大事です。

懸念点:速度

安全に漏れなくコピー出来る点がメリットですが、実は速度は早くないです。むしろ大分遅い。なのでコピーコンストラクタで代入してしまうのが少し手間ですが良いかもしれません。場合によって使い分けるのもアリだと思います。

Posted by kazupon