关于显式实例化(当模板在头文件中声明并在cpp文件中定义时使用的IIRC,因为否则链接器在其他地方使用它时将无法找到它),如果模板具有静态成员变量,则将显式实例化还实例化并创建静态成员变量?
我知道模板是一个编译时构造,但我现在问的是:假设我有以下功能
void caller1() {
function(1);
}
void caller2() {
function(2);
}
void caller3() {
function(3);
}
void function(int dimensions) {
if(dimensions <= 0 || dimensions > 3)
throw out_of_range("Wrong dims");
}
Run Code Online (Sandbox Code Playgroud)
那个检查在运行时不是很大的延迟,但我想知道我是否可以用模板化的"int dimensions"参数替换该函数:我的问题是,如果在编译时解决这个问题并生成代码调用者中调用的所有三个函数