gpt4 book ai didi

C++:如何在编译时创建常量?

转载 作者:太空宇宙 更新时间:2023-11-04 15:49:43 25 4
gpt4 key购买 nike

我想在编译时创建一个常量。这就是我的意思:

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,但我认为如果只在编译期间执行一次会更酷。我该怎么做?

最佳答案

最好用 C++11constexpr 来完成,但在 C++03 中你仍然可以用元函数:

template< int M >
struct some_calculation
{
static const int value = M * M * M;
};

它肯定凉爽,但我认为您担心得太多太早了。

关于C++:如何在编译时创建常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10661165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com