Cpp Swap Vector Elements Design