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

标签 c++ c++20

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

最佳答案

是的。甚至还有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;
}

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

关于c++ - [[不太可能]]可以用循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74521914/

相关文章:

c++ - 不调试启动时不绘制几何图形

c++ - 为什么 opencv 的 Mat::rows 和 Mat::cols 是有符号的而不是无符号的?

c++ - 用现代 C++ 替换宏

c++ - 什么是 C++20 的字符串文字运算符模板?

c++ - 有什么理由再将 extern 用于常量吗?

c++ - 嵌套名称说明符中的类型不完整

c++ - 快速排序模板不起作用,使我的程序无响应

c++ - 了解 C++ 中指针的 const 正确性

c++ - 变量的 cstyle 转换返回的值是纯右值还是左值?

c++ - C++ 20范围 View 到 vector