title: Difference between string literal and constexpr array of char
body: <p>I have been wondering if there is any difference between what is being pointed by <code>ptrToArray</code> and <code>ptrToLiteral</code> in the following example:</p>
  
  <pre><code>constexpr char constExprArray[] = "hello";
  const char* ptrToArray = constExprArray;
  
  const char* ptrToLiteral = "hello";
  </code></pre>
  
  <ul>
  <li>Is my understanding that <code>constExprArray</code> and the two <code>"hello"</code> literals are all compile time constant lvalues correct?</li>
  <li>If so, is there any difference in how they are stored in the executable file, or is it purely compiler implementation or platform specific?</li>
  <li>Are they treated differently at runtime behind the scenes?</li>
  <li>Anything else to know about?</li>
  </ul>