ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1067593 Топик полностью
evgeniy1294 (07.01.2021 15:22, просмотров: 276) ответил VladislavS. на Зачем тащить (CRC_TypeDef* crc) в интерфейс каждого метода? Шаблоны так шаблоны. Пример.
Crc в этом плане уникален, он может использоваться разной периферией с разными моделями. Дополнительно, хардварных калькуляторов может быть 2 или 3. Поэтому, чтобы не делать лишние using-и, тем самым сократив описание, сделано вот так. 

Вот функцию IsUsed нужно сделать.

Использовать CRC_BASE в качестве шаблонного параметра также нехорошо - запихнуть вместо него по ошибке можно что угодно, нужно как-то ограничить пользователя в выборе. Это требует enum class, который ещё и уникален для разных камней.

Хорошей демонстрацией будем моя реализация драйвера GPIO, там эта проблема решена довольно радикально.