This question is about C++20's [[likely]]
/[[unlikely]]
feature, not compiler-defined macros.
This documents (cppreference) only gave an example on applying them to a switch-case statement. This switch-case example compiles perfectly with my compiler (g++-7.2) so I assume the compiler has implemented this feature, though it's not yet officially introduced in current C++ standards.
But when I use them like this: if (condition) [[likely]] { ... } else { ... }
, I got a warning:
"warning: attributes at the beginning of statement are ignored [-Wattributes]".
So how should I use these attributes in an if-else statement?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…