title: static and volatile qualifiers after type
body: <p>Bjarne explains why const can go either before or after a type.</p>
  
  <p><a href="http://www.stroustrup.com/bs_faq2.html#constplacement" rel="nofollow">http://www.stroustrup.com/bs_faq2.html#constplacement</a></p>
  
  <blockquote>
  <pre><code>"const T" and "T const" were - and are - (both) allowed and equivalent.
  [...]
  </code></pre>
    
    <p>Why? When I invented "const" (initially named "readonly" and had a
    corresponding "writeonly"), I allowed it to go before or after the
    type because I could do so without ambiguity.</p>
  </blockquote>
  
  <p>My immediate thought was, "Ok, that makes sense, but if that's the reason then why is const special?" Apparently it isn't. Both clang and gcc emit no warnings for the following.</p>
  
  <pre><code>int volatile myint;
  int static myotherint;
  </code></pre>
  
  <p>It makes sense that this would be valid but I've never seen this syntax used or even mentioned as a possibility. Is placing static and volatile qualifiers after a type valid C++?</p>
  
  <p><em>How would one determine this from the text of the Standard?</em></p>