我的代码是:
#include <iostream>
using namespace std;
template <typename T, int X>
class Test
{
private:
T container[X];
public:
void printSize();
};
template <typename T, int X>
void Test<T,X>::printSize()
{
cout <<"Container Size = "<<X <<endl;
}
int main()
{
cout << "Hello World!" << endl;
Test<int, 20> t;
Test<int, 30> t1;
t.printSize();
t1.printSize();
return 0;
}
问题:
- 会产生多少专业化?如果我理解正确,它会生成两个专业,一个是 for
<int, 20>
,另一个是 for<int, 30>
。如果我的理解有误,请纠正? - 有没有办法查看/检查任何逆向工程生成的专业化数量?