просто ассертящим темплейтом template < typename T > struct ID и специализациями. Пишем тип в одном месте, если забыли, ломается компиляция
статический метод, чтобы вся информация была внутри класса, исключительно вопрос эстетики (кстати, в реальном кейсе там не число возвращается, а некоторое рантайм вычисление)
Обсуждают сегодня