Здравствуйте, Alexey Chen, Вы писали:
B>> вобще говоря swap не всегда можно нормально реализовать ... AC>Можно пример когда существует нетривиальный конструктор копирования и невозможно реализовать swap?
Наверно имелось в виду, что обычно от swap требуют гарантии no throw.
У того же вектора swap — простое присваивание пары указателей, а конструктор копии вызывает выделение памяти, конструкторы копии всех элементов => куча возможностей получить исключение.
Так вот не для каждого класса swap — всего лишь присваивание пары указателей.