Почему можно делать
const string exclam = "!";
const string str = exclam + "Hello" + " world";
И это невозможно сделать:
const string exclam = "!";
const string str = "Hello" + " world" + exclam;
Я знаю (хотя не могу понять, почему), что это запрещено:
const string str = "Hello" + " world" + "!";
поскольку он будет интерпретироваться как const char[6] + const char[6] + const char[1]
, поэтому с другой стороны, почему это также недопустимо, или почему он использует char[]
, а не string
.