All of the literals we've seen so far have primitive built-in
types. There is one additional literalstring literalthat is more complicated.
String literals are arrays of constant
String literal constants are written as zero or more
characters enclosed in double quotation marks. Nonprintable characters are
represented by their underlying escape sequence.
"Hello World!" // simple string literal
"" // empty string literal
"\nCC\toptions\tfile.[cC]\n" // string literal using newlines and tabs
For compatibility with C, string literals in C++ have one
character in addition to those typed in by the programmer. Every string literal
ends with a null character added by the compiler. A character literal
'A' // single quote: character literal
represents the single character A, whereas
"A" // double quote: character string literal
represents an array of two characters: the letter A
and the null character.
Just as there is a wide character literal, such as
there is a wide string literal, again preceded by L,
L"a wide string literal"
The type of a wide string literal is an array of constant
wide characters. It is also terminated by a wide null character.