如何在 if-else 语句中使用 C 20 的可能/不太可能属性

新手上路,请多包涵

这个问题是关于 C++20 的 [[likely]] / [[unlikely]] 功能,而不是编译器定义的宏。

本文档 ( cppreference ) 仅给出了将它们应用于 switch-case 语句的示例。 这个 switch-case 示例与我的编译器 (g++-7.2) 完美 编译,所以我假设编译器已经实现了这个特性,尽管它还没有在当前的 C++ 标准中正式引入。

但是当我像这样使用它们时: if (condition) [[likely]] { ... } else { ... } ,我收到一个警告:

“警告:语句开头的属性被忽略 [-Wattributes]”。

那么我应该如何在 if-else 语句中使用这些属性呢?

原文由 Leedehai 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 316
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题