На дворе C++23, а заставить компилятор проверять код всё ещё помогает только ассемблер
Казалось бы, современный C++ дает нам море инструментов для контроля кода на этапе компиляции: static_assert, концепты, constexpr всё, что только можно. Но что делать, если вам нужно заставить разработчика вызвать обязательную функцию инициализации инфраструктуры тестирования для библиотечных классов, а проект собирается под ARM с агрессивным -O2 -Os -flto=auto в недрах Yocto/OpenBMC? В этой статье я расскажу, как попытка добавить удобный режим тестирования для датчиков которые используют header