在 C++20 中,有没有办法用[[likely]]/注释三元表达式[[unlikely]]以提示编译器两种结果中的哪一种更有可能?
以下语法似乎不起作用
condition ? [[likely]] function1() : function2()
Run Code Online (Sandbox Code Playgroud)
是否有不同的语法来注释三元表达式?或者我必须使用一个if代替?
是否有不同的语法来注释三元表达式?
不,无法使用 [[likely]] 属性注释三元条件表达式。
或者我必须使用 if 来代替?
是的。或者,您可以省略该属性。
就其价值而言,可以使用 GNU 扩展:
__builtin_expect(!!condition, 1) ? function1() : function2()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |