用于生成switch语句部分的C++模板?

ano*_*non 4 c++ templates switch-statement

是否可以编写模板

Foo<int n>
Run Code Online (Sandbox Code Playgroud)

这样:

Foo<2>
Run Code Online (Sandbox Code Playgroud)

switch(x) {
  case 1: return 1; break;
  case 2: return 4; break;
}
Run Code Online (Sandbox Code Playgroud)

Foo<3>
Run Code Online (Sandbox Code Playgroud)

switch(x) {
  case 1: return 1; break;
  case 2: return 4; break;
  case 3: return 9; break;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑:

正如许多人猜到的那样,改变了上面的代码以返回正方形(我很难问)

Pot*_*ter 5

是的,使用超大主人制作模板,switch并希望/帮助优化器将其变为一点switch.请参阅我对您的其他问题的回答运行时类型切换将类型列表作为切换而不是嵌套if?.另外,不要重复发帖.