我有一些庫代碼(我不能改變源代碼),它返回一個指向對象(B)的指針。我想這個指針的shared_ptr類下存儲與這種類型的構造:convert pointer to shared_ptr
class A
{
public:
A(boost::shared_ptr<B> val);
...
private:
boost::shared_ptr<B> _val;
...
};
int main()
{
B *b = SomeLib();
A a(b); //??
delete b;
...
}
也就是說,我想提出的B A深拷貝和下控制其生命時間(即使原始b被刪除(刪除b),我仍然在a)下有一個確切的副本。
我是新來這個,如果它似乎對不起微不足道......
我沒有看到使用函數`copy` ... – 2009-05-20 12:12:07
在主函數的第二行。 – 2009-05-20 12:15:23
@Mykola:我明白了 - 但我不明白這一點:它毫無意義。抱歉。 – 2009-05-20 13:59:26