|
|
|
|
|
by lemmyg
2802 days ago
|
|
Move assignment has nothing to do with 'clearing fields' or whatever it's that the moved-to value steals what it can and leaves the moved from value in a valid but unspecified state. Notably, you should still be able to
assign-to and destroy a moved-from value. It's an invariant of the 'DirectorySearchResult' class that query is non-null, as the destructor deletes it without checking it for nullity. The most straight-forward and efficient way to achieve both the stealing and the valid state is to swap the pointers. |
|
Deleting a null pointer is a fully specified no-op in C++.