title: C++ - *p vs &p vs p
body: <p>I am still struggling to understand the difference between *p, &amp;p, and p. From my understanding, * can be thought of "value pointed by", and &amp; as "adress of". In other words, * holds the value while &amp; holds the adress. If this is true, then what is the distinction between *p and p? Doesn't p hold the value of something, just like *p?</p>