模版 在代码里有几个 副本的有关问题
模版 在代码里有几个 副本的问题
类模版中的静态变量和静态成员函数和普通函数的问题
template<typename T>
class Test
{
T val;
public:
static void Fun(){}
void Fun2(){}
};
Test<int> obj1;
obj1.Fun();
obj1.Fun2();
Test<int>obj2;
obj2.Fun();
obj2.Fun();
问题1: 对于普通函数,Fun2在代码里有几个副本?
是否是共用的? 因为都是用int去实例化!!1
如果不是同一种类型实例化,又该如何?
问题2:
对于 静态函数 Fun而言, 对于同一种类型有几个副本, 不同的类型又有几个?
------解决方案--------------------
楼主只要把相应的概念对普通的类理解透彻,然后再记住类模板实例化以后就变成普通的类,就应该能够推理出它们在类模板情况下的性质了。
------解决方案--------------------
类模版中的静态变量和静态成员函数和普通函数的问题
template<typename T>
class Test
{
T val;
public:
static void Fun(){}
void Fun2(){}
};
Test<int> obj1;
obj1.Fun();
obj1.Fun2();
Test<int>obj2;
obj2.Fun();
obj2.Fun();
问题1: 对于普通函数,Fun2在代码里有几个副本?
是否是共用的? 因为都是用int去实例化!!1
如果不是同一种类型实例化,又该如何?
问题2:
对于 静态函数 Fun而言, 对于同一种类型有几个副本, 不同的类型又有几个?
------解决方案--------------------
楼主只要把相应的概念对普通的类理解透彻,然后再记住类模板实例化以后就变成普通的类,就应该能够推理出它们在类模板情况下的性质了。
------解决方案--------------------