Earlier quoted context omitted.
Prefer pythonic style std::tie(b, a) = std::make_tuple(a, b);
I know normally python is simpler and easier to read, but this is not one of those times. The example C++ is much easier to read and more intuitive as to what it does.
a, b = b, a
The "std::tie(b, a) = std::make_tuple(a, b)" is an attempt to replicate the Python style in C++... which, I agree, is certainly not clear, and, unlike using the "swap" algorithm, it's also unclear whether it will result in efficient code.