title: Why use 'new' when creating objects with associated pointers?
body: <p>I am learning C++ by reading a textbook. The "objects and pointers" part says, that declaring a pointer to an object like this :</p>
  
  <pre><code>SomeClass *ptrMyClass;
  </code></pre>
  
  <p>does nothing by itself. Only after defining an instance of Class does it make sense, like this :</p>
  
  <pre><code>SomeClass *ptrMyClass;
  ptrMyClass = new SomeClass;
  </code></pre>
  
  <p>Or by combining these together in :</p>
  
  <pre><code>SomeClass *ptrMyClass = new SomeClass;
  </code></pre>
  
  <p>My question is, why do we have to create an instance of SomeClass on the heap by using 'new' ? So far in the book, pointers always pointed to 'normal' variables ( like int, float... ) that weren't created by using 'new'. Thank you.</p>