We can clear a C++ std::string with std::exchange()
C++14 introduced std::exchange(), which we can use to replace a value in an object. What happens if we exchange an object with itself?