title: Usage of empty array allocation for custom class
body: <p>Say, we have a class <code>Car</code></p>
  
  <pre><code>classdef Car &lt; handle
      properties
          wheels = 4;
      end
      methods
          function obj = Car()
          end
      end
  end
  </code></pre>
  
  <p>We can create ten cars like so</p>
  
  <pre><code>cars = Car.empty();
  
  for ii = 1:10
      cars(end+1) = Car;
  end
  </code></pre>
  
  <p>However, one can make an empty array of cars first</p>
  
  <pre><code>&gt;&gt; cars = Car.empty(0,10)
  
  cars = 
  
    0x10 Car array with properties:
  
      wheels
  </code></pre>
  
  <p>What I do not understand: If one now puts a single car in it, the array seems to shrink to a single element</p>
  
  <pre><code>&gt;&gt; cars(1) = Car
  
  cars = 
  
    Car with properties:
  
      wheels: 4
  </code></pre>
  
  <p>So, <strong>does allocating such an empty array make any sense?</strong> What are the use cases?</p>