Специализация шаблона VS Перегрузка функций

У меня есть заметки в учебнике, что вы можете предоставить свою собственную реализацию для стандартных библиотечных функций, таких как swap (x, y) , через специализацию шаблона или перегрузку функций. Это было бы полезно для любых типов, которые могут получить выгоду от чего-то другого, кроме обмена присваиваниями, например контейнеров STL , например (в которых уже записаны свопы, я знаю).

Мои вопросы следующие:

  1. Что лучше: специализация шаблона, позволяющая реализация подкачки или перегрузка функций, обеспечивающая точное параметры, которые вы хотите использовать без шаблона?

  2. Почему это лучше? Или, если они равны, почему это?

49
задан xdavidliu 27 October 2019 в 19:05
поделиться