Consider the statement decltype(s){}.swap(s), where s is a STL class entity. If s is not ::std::array, this gets a nice complexity ( O(constant) ).
But I wonder, where the old one goes? Is it automatically deleted?
I think so, for the old one will never be used again. But I'm not sure about that (if the compiler will think so).