我有一个性能关键的内联函数,inline T func(T a, T b, int p)
. 如果已知 p 为零,则可以对其进行相当多的优化。但是,我不能使用“如果”来惩罚所有其他情况。我想要的只是优化我在编译时知道 p 为零的函数。有没有一种干净的方法可以做到这一点,也许使用模板魔法?
编辑
我不能使用不同命名的函数/不兼容的重载(我不知道如何正确表达),因为代码非常低级。很可能在另一个/未来的处理器上可以使用不同的优化机会。因此,通过将所有低级内容限制在一个函数签名中,我的代码只需重新编译即可使用任何类型的优化。