Exercise 1-2
Are the following definitionsvalid? Why or why not?
const std::string exclam = "!";
const std::string message = "Hello" + ", world" + exclam;
Solution
The first line is valid because it initializes the variable exclaim
with the value "!"
.The second line is not valid, however. The reason is that the +
operator is left-associative. This means that it is being used to concatenate "Hello"
and ", world"
, which is not legal because one of the operands must be a std::string
object. In the exercise, "Hello"
and", world"
are both string literals.