Unário mais (+) contra string literal

Hoje eu escrevi uma expressão:

"<" + message_id + "@" +  + ">"

e ficou surpreso que realmente compilado. (PSmessage_id é um QString, ele também funcionaria com um std :: string)

Eu costumo fazer coisas assim, deixar de fora uma variável enquanto estou trabalhando e espero que o compilador me diga onde eu ainda estou perdendo as entradas. A final seria algo como isto:

"<" + message_id + "@" + network_domain + ">"

Agora eu gostaria de saber por que o operador + unary é válido contra uma string literal !?

questionAnswers(1)

yourAnswerToTheQuestion