What is a right assignment statement for member data pointer
<p>I have to make a member data pointer to get less copy of the data.I have writed some sample code.Some error occurred where I marked "error".
How to do rightly.</p>

<pre><code>#include &lt;iostream&gt;

class A {
public:
    A() {
        stra="12345";
    }
    virtual ~A() {}
    string stra;
}

class B {
public:
    B(A *pt) {
        strb=&amp;(pt-&gt;stra);  //Error.An assignment statement
    }
    virtual ~B() {}
    string A::*strb;       //member data pointer from class A
}

int main() {
    A ma;
    B mb(&amp;ma);
    std::cout&lt;&lt; *(mb.strb) &lt;&lt;std::endl;  //Error.print data
}
</code></pre>
