小编use*_*506的帖子

实例化模板是否实例化其静态数据成员?

关于显式实例化(当模板在头文件中声明并在cpp文件中定义时使用的IIRC,因为否则链接器在其他地方使用它时将无法找到它),如果模板具有静态成员变量,则将显式实例化还实例化并创建静态成员变量?

c++ templates

7
推荐指数
1
解决办法
500
查看次数

是否在编译时评估模板参数?

我知道模板是一个编译时构造,但我现在问的是:假设我有以下功能

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"参数替换该函数:我的问题是,如果在编译时解决这个问题并生成代码调用者中调用的所有三个函数

c++

5
推荐指数
2
解决办法
1890
查看次数

标签 统计

c++ ×2

templates ×1