With swap V = [3,3,3] W = [4,4,4,4] V view [3,3] W view [4,4] V = [4,4,4,4] W = [3,3,3] V view [3,3] W view [4,4] V = [4,4,4,4] W = [3,3,3] V view [4,4] W view [3,3] With std::swap V = [3,3,3] W = [4,4,4,4] V view [3,3] W view [4,4] V = [4,4,4,4] W = [3,3,3] V view [3,3] W view [4,4] With deep_swap V = [3,3,3] W = [4,4,4] V view [3,3] W view [4,4] V = [4,4,4] W = [3,3,3] V view [4,4] W view [3,3] V = [3,3,4] W = [4,4,3] V view [3,3] W view [4,4]