title: `const char * const` versus `const char *`?
body: <p>I'm running through some example programs to refamiliarize myself with C++ and I have run into the following question.  First, here is the example code:</p>
  <pre><code>void print_string(const char * the_string)
  {
      cout &lt;&lt; the_string &lt;&lt; endl;
  }
  
  int main () {
      print_string(&quot;What's up?&quot;);
  }
  </code></pre>
  <p>In the above code, the parameter to <code>print_string</code> could have instead been <code>const char * const the_string</code>.  Which would be more correct for this?</p>
  <p>I understand that the difference is that one is a <code>pointer to a constant character</code>, while the other one is a <code>constant pointer to a constant character</code>.  But why do both of these work?  When would it be relevant?</p>