' : ' is a multicharacter literal. It has type int.
Its value is implementation-defined, but mainstream implementations just concatenate bytes so that '\x11\x22\x33\x44' has the value 0x11223344. In general these are rarely useful. https://en.cppreference.com/w/cpp/language/character_literal
GCC doesn't enable many warnings by default but this one is, probably because it's seldom useful and it's easy to make a mistake and use single quotes instead of double quotes.
In your example, you use simple quotes - and the code works as expected because it converts chars into decimal. Use double quotes for string literals - exactly like you did for the string Hello World. Just for info, I have no warning under Visual Studio 17.1.6 ++
Thanks @Geckoo, I am not trying to fix the code here, I am trying to find out where that number comes from, the explanation already given by @mbozzi, so right now I am doing some reading trying to figure out:
what is those '\x11\x22\x33\x44' and what is the mainstream implementations
x20 is of course hex for a space. x3a is the ASCII value of a colon.
I ran this on MSVC 17.6.3 17.3.3, but I suspect other mainstream implementations would be the same.
When I read "mainstream implementations" I mainly think of GCC, Clang and Microsoft's implementation (i.e. MSVC, VS, Visual C++, or whatever you call it ;)).