我想在编译时创建一个常量。这就是我的意思是:C++:如何在编译时创建一个常量?
template <int M = 31>
int fast_hash(int prev_hash, int c1, int c3)
{
enum {m3 = m*m*m;}
return m * prev_hash - m3 * c1 + c3;
}
在上面的例子中,我可以计算M3 = M * m * m的每一次函数被调用,但我想,如果这样做了一次,并且在这将是凉爽编译时间。我怎样才能做到这一点?
我认为m3在这种情况下将是一个常数。在不断传播之后,编译器会将m3评估为一个常量。 –