下面的Test类有一个静态变量count,在创建Test类的对象时会增加,
#include <iostream>
using namespace std;
template <class T> class Test
{
private:
T val;
public:
static int count;
Test()
{
count++;
}
// some other stuff in class
};
template<class T>
int Test<T>::count = 0;
int main()
{
Test<int> a;
Test<int> b;
Test<double> c;
cout << Test<int>::count << endl; // prints 2
cout << Test<double>::count << endl; //prints 1
getchar();
return 0;
}
输出:2 1
我猜有两个实例测试和测试(同时调用测试和测试)。但是我想知道为什么int和double有两个实例,因为有两种不同的类型?如果是这样,如何针对不同的数据类型和相同的数据类型跟踪计数变量?这可能是一个简单的问题,但我只想知道它背后的基本过程?