analizer 05.09.2011 21:47 mcabber

давно было интересно как в STL сделан std::swap(a, b) для объектов у которых определена мембер-функция swap. оказалось что функция просто перегружена для векторов. и это в двадцать первом веке... а я так надеялся посмотреть на новый, годный SFINAE привнесённый новым стандартом.

c++, gcc
1. DZhon 05.09.2011 21:51

возможно, SFINAE требует больше времени на компиляцию ?

2. analizerDZhon /1 05.09.2011 22:02 mcabber

имхо, эквипенисуально практически. что тут находить какой оверлоадинг лучше подходит, что со SFINAE отсечь неподходящий класс

3. DZhonanalizer /2 05.09.2011 22:04

ну по всем гайдам опять же http://www.gotw.ca/publications/mill17.h...
предпочитаем перегрузку специализациям

4. DZhonDZhon /3 05.09.2011 22:22

Получается, если есть перегрузка для указателей или ссылок, то можно попасть в очень неприятную ситуацию, специализировав под нужный тип — может вызваться совсем не та версия.

5. analizerDZhon /4 06.09.2011 03:01 mcabber

спасибо, почитаю вечером

Do you really want to delete ?