Маловероятная ветка в C++
Атрибут unlikely прикрепляют
к условию if, когда ветка
срабатывает редко по сравнению с остальными.
Компилятор может вынести такой блок в сторону от основного пути выполнения. Запишем проверку отрицательного числа с пометкой и выведем слово из запасной ветки:
#include <iostream>
int main() {
int value = 0;
if [[unlikely]] (value < 0) {
std::cout << "minus\n";
} else {
std::cout << "fine\n";
}
return 0;
}
При int code = 0 используйте
if [[unlikely]] (code < 0)
с телом, печатающим "bad",
иначе выведите "ok".