"333"
is a const char [4]
not std::string
as you might expect(which by the way still doesn’t have operator+
for int
). Adding 4, you’re converting it to const char *
and then moving the pointer by 4 * sizeof(char)
bytes, making it point to memory with garbage in it.