решил бы if constexpr вне шаблонов.
Видя команды препроцессора мне становится очевидно, что это или platform specific код, или какие-то флаги сборки. Видя if constexpr я понимаю что это compile time. Зачем их смешивать с учетом того, что if constexpr не сможет заменить препроцессор?
Ну и я не вижу особых преимуществ кода
if constexpr (is_gcc)
__intrinsic();
else
general_case();
над
#if IS_GCC
__intrinsic();
#else
general_case();
#endif
В том то и дело, что есть стремление полностью заменить препроцессор
Обсуждают сегодня