c++ [[不太可能]]有循环吗?

vfh0ocws  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(141)

我在频繁使用的ifs上使用[[likely]]/[[unlikely]]。我最近有一个循环,其中的条件很少被满足,即循环很少被进入或重复。
有没有可能在一个循环上有一个[[unlikely]]?在en.cppreference.com上我找不到任何关于这个的东西。

unguejic

unguejic1#

是的。甚至还有an example of it on 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;
}

您可以将属性套用至循环主体的开头。

相关问题