С++ 11 §27.5.4.2/21:
void swap(basic_ios& rhs);
Эффекты: состояния обмена
*this
иrhs
должны быть заменены, за исключением того, чтоrdbuf()
возвращает то же значение, что и перед вызовом функции, аrhs.rdbuf()
возвращает то же значение, что и ранее вызов функции.
Что такое частичная свопинг, полезная для?
Может ли это вызвать проблемы?