Задача: вывести в лог предупреждение, когда происходит отладка: логирование, имитация редких веток кода и тому подобное.
Для чего? — чтобы программист не пустил в продакшен программу в режиме отладки.
[[maybe_unused, deprecated("DEBUGGING!!")]] inline void dbg() {}
/// [+] simulate changed horizon when actually it did not
constexpr bool SIMULATE_CHANGED_HORIZON = false;
inline bool chgNot(bool x) {
if constexpr (SIMULATE_CHANGED_HORIZON) {
dbg();
return x;
} else {
return !x;
}
}
К сожалению, этот код предупреждает всегда — даже если у нас false и dbg() в неё не вкомпилируется.