Если вы перегружаете swap в пространстве имен std?

Сегодня я прочитал что-то интересное, что сказалстандарт» способ вызвать своп на пользовательский тип (предоставляется в качестве аргумента шаблона) является ...

using std::swap;
swap(something, soemthingelse);

Причиной этого является использование зависимого от аргумента поиска, чтобы использоватьswap функция в пространстве имен пользователя илиswap вstd Пространство имен. Это подняло интересный вопрос для меня. Когда я перегружаюstd::swap для одного из моих классов я на самом деле определял его вstd Пространство имен ...namespace std { void swap(/*...*/){/*...*/} }, Это практиканеправильно? Должен ли я определить свой собственныйswapвstd или мое собственное пространство имен (и почему)?

Ответы на вопрос(5)

Ваш ответ на вопрос