【发布时间】:2020-11-02 12:51:11
【问题描述】:
例如,如果我想创建多达 200 万个 Eratosthenes 筛,则在运行时将需要一些时间。有没有办法通过使用元编程来减少运行时间?
筛子代码(将 std::bitset 初始化为 const MILLION):
void initCiur(std::bitset<MILLION> &c)
{
c[0] = c[1] = 1;
for (int i=4; i <= MILLION; i+=2)
c[i] = 1;
for (int i=3; i*i <= MILLION; i+=2)
if (!c[i])
for (int j=3*i; j <= MILLION; j+=2*i)
c[j] = 1;
}
【问题讨论】:
-
将
constexpr用于initCiur函数?
标签: c++ runtime metaprogramming compile-time