I have the following code:
So two variables of Class<int>.Code:void foo() { Class<int> c1, c2; }
What happens at the technical level when the compiler sees this code? Does it generate two Class<int> {}; types and only during link time all the Class<int> types are reduced to one? Or does it only do that for variables in different translation units?