C++ : Assignment and checking for NULL on new/delete
<p>Is the assignment and check for null explicitly required in the below snippet to achieve the same result. Also, is there anything wrong or can be improved here.</p>

<pre><code>class Sample
{

private:
    char *bits;

public:

    Sample() 
    {
       bits = NULL; //should this be explicit?
    }


    ~Sample() 
    {
        if (bits != NULL) 
        {
           delete [] bits; //should this be explicit?
        }
        bits = NULL; //should this be explicit?
    }

};
</code></pre>
