2017-08-06 4 views
-3

クラステンプレートがインスタンス化されたときに起こること。すなわち、私はクラステンプレートとhvクラスを作成してint型とfloat型のクラスを作成したので、コンパイル時に何が起こるか(コンパイラはint型とfloat型の2つのseprateクラスを作成するかどうか) 例:コンパイル時にクラステンプレートで何が起こるか

template <typename T> 
class A 
{ 
    public: 
     void foo(T t) 
     { 
      //... 
     }; 
}; 

int main() 
{ 

    A<int> a; 
    A<float> b; 

} 
+0

typeパラメータが生成されたクラスのメンバの場合は、このように考えてください。レイアウトが異なる場合、どのように同じクラスにすることができますか? – StoryTeller

答えて

-1

はい、コンパイラはオンザフライ二つの新しいクラスを作成します - int型用とフロートのための1つを。

関連する問題