gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:00:18 24 4
gpt4 key购买 nike

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

本文档 (cppreference) 仅给出了将它们应用于 switch-case 语句的示例。 此 switch-case 示例与我的编译器 (g++-7.2) 完美编译,因此我假设编译器已实现此功能,尽管它尚未在当前 C++ 标准中正式引入。

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

"warning: attributes at the beginning of statement are ignored [-Wattributes]".

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

最佳答案

基于 Jacksonville’18 ISO C++ Report 中的示例语法是正确的,但是好像还没有实现:

if (a>b) [[likely]] {

10.6.6 Likelihood attributes [dcl.attr.likelihood] draft

关于c++ - 如何在 if-else 语句中使用 C++20 的可能/不太可能属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51797959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com