私は抽象コンポーネントクラスと、コンポーネントからなるベクトル(派生された可能性)を持つエンティティクラスを持っています。私はコンポーネントを参照できるようにしたい。それはタイプまたは文字列でそれらを見る方が良いですか?両方の場合においてタイプ別オブジェクトの検索vs文字列
ComponentA* component = entity.getComponent<ComponentA>();
// vs
ComponentA* component = entity.getComponent("ComponentA");
私はvtableのが必要になりますが、唯一、後に私はすべての派生クラスのgetName
機能のいくつかの並べ替えを実装する必要があります。
template<typename T>
T * getComponent();
異なるT
S、異なる戻り値の型と、あなたが正しい型の変数に直接返された値を割り当てることができます。
あなたは 'template'で安全性を持っていますが、どのように文字列から(結果)型を知っていますか? – Jarod42