История изменений
Исправление fsb4000, (текущая версия) :
Еще раз: на этапе компиляции в следствии мономорфизации параметрический полиморфизм превращается в ad-hoc-полиморфизм, то есть генерируются конкретные реализации для конкретных используемых типов, а вся информация об обобщении стирается
Я не уверен, что даже трейты можно повторить в С++20.
Это просто частичная специализация + проверка что специлизация существует, транслируется на С++, почти строчка в строчку:
Это можно повторить даже на С++98(более многословно, но шаблоны Тюринг полны, так что возможно всё…)
Исходная версия fsb4000, :
Еще раз: на этапе компиляции в следствии мономорфизации параметрический полиморфизм превращается в ad-hoc-полиморфизм, то есть генерируются конкретные реализации для конкретных используемых типов, а вся информация об обобщении стирается
Я не уверен, что даже трейты можно повторить в С++20.
Это просто частичная специализация + проверка что специлизация существует, транслируется на С++, почти строчка в строчку:
Это можно повторить даже на С++98(более многословно, но шаблоны Тюринг полны, так что возможно всё…)