analizer
05.09.2011 21:47 mcabber
давно было интересно как в STL сделан std::swap(a, b) для объектов у которых определена мембер-функция swap. оказалось что функция просто перегружена для векторов. и это в двадцать первом веке... а я так надеялся посмотреть на новый, годный SFINAE привнесённый новым стандартом.
возможно, SFINAE требует больше времени на компиляцию ?
имхо, эквипенисуально практически. что тут находить какой оверлоадинг лучше подходит, что со SFINAE отсечь неподходящий класс
ну по всем гайдам опять же http://www.gotw.ca/publications/mill17.h...
предпочитаем перегрузку специализациям
Получается, если есть перегрузка для указателей или ссылок, то можно попасть в очень неприятную ситуацию, специализировав под нужный тип — может вызваться совсем не та версия.
спасибо, почитаю вечером