[[不太可能]]可以用循环吗?

Edi*_*tis 2 c++ c++20

我在频繁使用的 if 上使用[[likely]]/ 。[[unlikely]]我最近有一个循环,其中条件很少满足,即循环很少进入或重复。
是否可以[[unlikely]]循环播放?在 en.cppreference.com 上我没有找到任何相关内容。

Nic*_*las 5

是的。cppreference 上甚至有一个例子

constexpr double cos(double x) noexcept {
    constexpr long long precision{16LL};
    double y{};
    for (auto n{0LL}; n < precision; n += 2LL) [[likely]]
        y += pow(x, n) / (n & 2LL ? -fact(n) : fact(n));
    return y;
}
Run Code Online (Sandbox Code Playgroud)

您将该属性应用于循环体的开头。