typedef
を使用してテンプレートクラス(または構造体)の特殊化の名前を変更すると、そのタイプのテンプレートがアセンブリコード内でインスタンス化されますか?例えば:私は今、(基本的に)テンプレート型をtypedefするとインスタンス化できますか?
template<class T> struct Key
{
float _time = 0.0f;
T _value = T();
};
struct VectorKey
{
float _time = 0.0f;
glm::vec3 _value = glm::vec3();
};
struct QuatKey
{
float _time = 0.0f;
glm::quat _value = glm::quat();
};
それはtypedef
内に含まれるように悪い考えだ場合、私は思ったんだけどを持つように
template<class T> struct Key
{
float _time = 0.0f;
T _value = T();
};
typedef Key<glm::vec3> VectorKey;
typedef Key<glm::quat> QuatKey;
これは私のファイルにKey<glm::vec3>
とKey<glm::quat>
構造体を作成します。これが発生した場合、このヘッダーを含むファイルには不要なコードが含まれている可能性があります。
「インスタンス化」とは何を意味するのかを説明します。 –