武器の管理をデータテーブルと構造体のどちらで管理した方が良いのか?

武器を100通りほど管理したいのですが

データテーブルで管理するべきか構造体で管理するべきか迷っています

理由としては

データテーブル->検索ができるけどメモリのパフォーマンスが落ちる

構造体->メモリのパフォーマンスで良いけど、検索ができない?

実際はどちらの方が良いのでしょうか

あくまで個人的な見解ですが、データテーブルで管理するのが良いと思います。

問題としているメモリのパフォーマンスについては、「ソフト参照」を行うことでおおむね解決が可能かと思います。

参考:第007回UE4のアセットの参照方法について、そのロードの違い | CC2の楽屋裏

その都度ロードしないといけないという手間が発生しますが、メモリのパフォーマンスはよくなるはずなのでデメリットは無くなるのではと思います。

なお、構造体配列でもMapを使うことで検索ができないわけではありませんが、

データの管理という面では配列を格納しているクラスなり関数を参照しないといけなくなるため、やはりデータの集合体として扱うのは難しいかと思います。

ご回答ありがとうございます。

なるほど、

データテーブルの方が管理面などを考慮すると良さそうですね

ありがとうございました