C ++ constexpr重载,用于编译时和运行时的不同代码

时间:2019-03-16 11:20:02

标签: c++ optimization c++14 constexpr

constexpr void X() {
  /* code, that can be executed at compiletime */
}

void X() {
  /* code, that does the same as above, but is optimized for runtime, eg.
  including caching, assembler code, ... to optimize runtime performance */
}

如上所述,我想要两个函数,基本上都在做同样的事情,一个针对运行时进行了优化,一个针对编译时进行了优化。 在我的示例中,运行时版本涉及缓存,这不能在constexpr中完成,但可以提高运行时的性能。

这可以通过某种方式实现(使用C ++ 14)吗?

如果只能使用特定于编译器的解决方案可以做到这一点,那么它们也可以,但是我更喜欢一种标准解决方案(目前,我还不知道)。

0 个答案:

没有答案