Comment Valid by unspecified state (Score 1) 220
I've written move constructors that just call a swap under the hood, because it's less expensive than reinitializing a moderately complicated object just to have the destructor note it's in its "empty state" and do nothing. I thought that was the point of letting `move` leave objects in a valid but otherwise unspecified state. I think the alternative entails the standard saying that every domain of values for an object type needs a "zero" element, which would be silly.