2017-08-06 51 views
-3

当类模板实例化时会发生什么。即我有一个类模板,我已经创建了类和浮点类,所以在编译时会发生什么(编译器将创建2个分离类为int和浮点)还是不? 如:编译时发生类模板时发生什么

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

int main() 
{ 

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

} 
+0

想想这样,如果类型参数是为生成的类的成员。如果布局不同,怎么会是同一个班级? – StoryTeller

回答

-1

是,编译器会创建即时两个新类 - 一个int和一个浮法。