Хорошо, я играл на стандартных заголовочных файлах C ++, и я пришел с этим следующим синтаксисом,
template<typename _Rep>
struct treat_as_floating_point
: is_floating_point<_Rep>
{
};
Я знаю, как использовать шаблоны, структуры, которые похожи на классы, за исключением публичных и частных, и я знаю, как использовать классы.
Итак, я думал, что это какая-то инициализация члена из-за :
, с шаблоном специализации, но я понятия не имею.
:
в коде не означает инициализацию члена в этом контексте, но наследование. Наследование записывается как
class Derived : Base
{
};
В коде используются шаблоны с наследованием. treat_as_floating_point<T>
шаблон / универсальный тип, который наследуется от создания шаблона is_floating_point<T>
, где T
это тип.
Других решений пока нет …