【发布时间】:2021-11-15 10:57:23
【问题描述】:
我尝试将C++20 的[[likely]] 和[[unlikely]] 属性放置在do-while 循环条件周围的不同位置,似乎将它们放在行尾之后三个主要编译器都接受分号:
int main(int i, char**)
{
do {
++i;
} while (i < 42); [[likely]]
return i;
}
然而这看起来很奇怪。这真的是属性的正确位置吗?
【问题讨论】:
-
注解放在
;之后。那么return i的意思不是很可能会被执行吗?哪个....嗯....编译器可以在没有注释的情况下进行推断。
标签: c++ attributes c++20