Is it OK to initialize a reference member with dynamically allocated memory?
<p>Am I causing a memory leak here or is it OK to do like this? Should I use a smart pointer member instead of a reference?</p>

<pre><code>class A
{
public:

   A() : b_(*(new B))
   {}

private:
   B&amp; b_;
};

int main()
{
    A a;
    return 0;
}
</code></pre>
