Re[11]: Для чего шаблонной функции нужна особая сигнатура?
От: so5team https://stiffstream.com
Дата: 24.01.23 11:16
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

S>>В C++ вы можете иметь разные конкретные результаты применения шаблона функции. Т.е. разный код.


ЕМ>Этот код привязан к общему шаблону, или нет? Функции, полученные в результате реализации/специализации шаблона, как-то связаны между собой, или они полностью независимы?


Сложение a и b удовлетворяют общему шаблону или нет? Реализации сложения a и b полностью независимы?

ЕМ>Сравнение с другими языками имеет смысл лишь в плане философского обсуждения.


Мне казалось, что донесение до вас разницы между "шаблоном функции" (ключевое слово "шаблон") и "шаблонной функцией" (ключевое слово "функция") -- это и есть философское обсуджение.

ЕМ>Так какие же задачи наилучшим образом решаются именно сочетанием перегрузки и шаблона, где и перегруженные, и шаблонные функции полностью совпадают по типам параметров/результата? И для перегрузки, и для шаблона по отдельности есть множество характерных примеров. Есть примеры именно для данного их сочетания?


Да хотя бы банальное упрятывание реализации какой-то тяжелой и объемной реализации в .cpp-файл.

ЕМ>То есть, в этом нет никакого глубинного смысла или "наилучшего решения", и все сводится к банальному сохранению совместимости с очень старым кодом, который нет возможности модифицировать?


А этого недостаточно?

Кроме того, здесь мы явно имеем ситуацию, когда приоритет нужно отдать либо одному (скажем, обычным функциям), либо другому (скажем, шаблонам). И какой бы выбор не был сделан, всегда найдется кто-то с бородой до пола, который заявит, а я в программировании 40 лет, никогда подобной фигни не видел и не понимаю, почему так, объясните мне!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.