Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, boomer, Вы писали:
B>>Так оно и так только глобальное.
NB>есть две функции
NB>NB>namespace a { struct test {}; }
NB>void foo(T x, T y)
NB>{
NB> using namespace std::swap;
NB> swap(x, y);
NB>}
NB>foo(a::test{}, a::test{});
NB>namespace b { struct test {}; void swap(T, T); }
NB>void bar (T x, T y)
NB>{
NB> swap(x, y);
NB>}
NB>bar(b::test{}, b::test{});
NB>
NB>какие определения функции swap у тебя будут в глобальном пространстве имен, чтобы получить похожее поведение?
Ну получили вы подобное поведение. И что у вас на выходе? Лабиринт из костылей. С введением семантики перемещения такие пируэты вокруг функции свап болше не нужны. Но видимо Ватсон без трубки уже не может.