#include <iostream>
template <typename Iter>
void reverse(Iter first, Iter last)
{
while (first != last && first != --last) {
std::swap(*first, *last);
first++;
}
}
int main()
{
std::string str("12345");
reverse(str.begin(), str.end());
std::cout << str;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCnRlbXBsYXRlIDx0eXBlbmFtZSBJdGVyPgp2b2lkIHJldmVyc2UoSXRlciBmaXJzdCwgSXRlciBsYXN0KQp7CiAgICB3aGlsZSAoZmlyc3QgIT0gbGFzdCAmJiBmaXJzdCAhPSAtLWxhc3QpIHsKICAgICAgICBzdGQ6OnN3YXAoKmZpcnN0LCAqbGFzdCk7CiAgICAgICAgZmlyc3QrKzsKICAgIH0KfQogCmludCBtYWluKCkKewogICAgc3RkOjpzdHJpbmcgc3RyKCIxMjM0NSIpOwogICAgcmV2ZXJzZShzdHIuYmVnaW4oKSwgc3RyLmVuZCgpKTsKICAgIHN0ZDo6Y291dCA8PCBzdHI7CiAgICByZXR1cm4gMDsKfQ==