Is there any need to assign null pointer to std::auto_ptr
<p>Previous, I have the following code.</p>

<pre><code>double* a[100];
for (int i = 0; i &lt; 100; i++) {
    // Initialize.
    a[i] = 0;
}
</code></pre>

<p>The purpose of initialize array of <code>a</code> to 0 is that, when I iterative delete element of <code>a</code>, everything will work fine still even there are no memory allocated still for element of <code>a</code>.</p>

<pre><code>for (int i = 0; i &lt; 100; i++) {
    // Fine.
    delete a[i];
}
</code></pre>

<p>Now, I would like to take advantage of auto_ptr, to avoid having manual call to delete.</p>

<pre><code>std::auto_ptr&lt;double&gt; a[100];
for (int i = 0; i &lt; 100; i++) {
    // Initialize. Is there any need for me to do so still?
    a[i] = std::auto_ptr&lt;double&gt;(0);
}
</code></pre>

<p>I was wondering, whether there is any need for me to initialize <code>auto_ptr</code> to hold a null pointer? My feeling is no. I just want to confirm on this, so that there aren't any catch behind.</p>
