C++ typedef syntax rules
<p>For the life of me I cannot find a good explanation of what are the rules that are used to convert a typedef to a C++ statement. The simple cases I understand. But consider this from <a href="http://www.informit.com/guides/content.aspx?g=cplusplus&amp;seqNum=177" rel="nofollow">Danny Kalev</a>:</p>

<pre><code>typedef char * pstr;
int mystrcmp(const pstr, const pstr); //wrong!
</code></pre>

<p>Danny Kalev then writes:</p>

<blockquote>
  <p>The sequence const pstr actually means char * const (a const pointer to char); 
  not const char * (a pointer to const char.</p>
</blockquote>

<p>I cannot find anywhere the rule to explain why "const pstr" would be converted to "char * const".</p>

<p>Thanks for any help. </p>
