title: c++ string literal concatenation by juxtaposition
body: <p>The code</p>
  
  <pre><code>std::string str = "Hello " "world";
  std::cout &lt;&lt; str &lt;&lt; std::endl;
  </code></pre>
  
  <p>compiles and prints <code>Hello world</code>. Similarly,  </p>
  
  <pre><code>char chr[] = "abc" "def" "ghi";
  std::cout &lt;&lt; chr &lt;&lt; std::endl;
  </code></pre>
  
  <p>prints <code>abcdefghi</code>. How and why does this work?</p>