fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <cstring>
  4.  
  5. void swapStrings(std::string& s1, std::string& s2)
  6. {
  7. const int size = sizeof(std::string);
  8. char buffer[size];
  9. std::memcpy(buffer, &s1, size);
  10. std::memcpy(&s1, &s2, size);
  11. std::memcpy(&s2, buffer, size);
  12. }
  13.  
  14. int main()
  15. {
  16. std::string s1{"String 1"};
  17. std::string s2{"String 2"};
  18. swapStrings(s1, s2);
  19. std::cout << s1 << std::endl;
  20. std::cout << s2 << std::endl;
  21. }
  22.  
Success #stdin #stdout 0s 3228KB
stdin
Standard input is empty
stdout
String 2
String 1