>>893
(少なくとも現状のC++だと)関数の戻り値でswapするのは無理では?