title: C++ const vs volatile
body: <p>From what I have read on the web and on SO:</p>
  
  <p>const:</p>
  
  <ul>
  <li>tells the compiler that the variable must not be changed using
  program instructions.  </li>
  <li>consequently, the compiler can optimize the code.</li>
  </ul>
  
  <p>volatile:</p>
  
  <ul>
  <li>variable is constant but can be change from outside the program.  </li>
  <li>tells the compiler to read the variable's value from memory each time.  </li>
  <li>tells the compiler not to use optimization with this variable.</li>
  </ul>
  
  <p>If my understanding is correct, so volatile is just another kind of const.</p>
  
  <p>so, <strong>what does a line like the one below mean?</strong></p>
  
  <p><code>const volatile char A = 'C';</code></p>