Unary plus (+) przeciwko literałowi
Dzisiaj napisałem wyrażenie:
"<" + message_id + "@" + + ">"
i zdziwiłem się, że rzeczywiście się skompilował. (PSmessage_id
jest QStringiem, działałby również ze std :: string)
Często robię takie rzeczy, pomijam zmienną podczas pracy i oczekuję, że kompilator powie mi, gdzie nadal brakuje wpisów. Finał wyglądałby mniej więcej tak:
"<" + message_id + "@" + network_domain + ">"
Teraz chciałbym wiedzieć, dlaczego operator + unary jest poprawny wobec literału łańcuchowego !?