Здравствуйте, watchmaker, Вы писали:
ЕМ>>Затем прямо в определении класса пытаюсь его инстанцировать:
W>Но зачем?!
В исходном варианте некоторых функций были принудительные приведения типов для обрезания ненужных старших частей 64-разрядных результатов, чтобы вернуть только значащую 32-разрядную часть, и избежать лишних расходов на 32-разрядных платформах. Поэтому хотелось инстанцировать только безопасные сочетания типов. Сейчас уже кажется, что правильнее будет явно указывать типы при вызовах таких функций.
W>Добавление <> — это для описания специализации.
Стыдно сказать, но я до сих пор не до конца понимаю, чем отличается специализация шаблона от инстанцирования.
Я на C++ делаю в основном низкоуровневный код, поэтому никогда предметно не разбирался с конструкциями, способными давать трудно контролируемый рост кода. Поэтому из шаблонов применяю в первую очередь шаблоны классов, экземпляры которых сами не плодятся.