我最近開始使用智能指針。 如果我是正確的,智能指針聲明:C++/boost:聲明封裝的shared_array
shared_array<double> a(new double[n]);
但是我們該怎麼做,如果被封裝在一個類? 我在做如下的時刻,但似乎超級難看:
頭文件:
class Foo {
public:
Foo(int size);
shared_array<double> _a;
};
源文件
Foo::Foo(int n){
shared_array<double> p (new double[n]);
_a = p;
}
首先,退一步想想事情。一個shared_array是有意義的,如果它將擁有共享所有權,那麼這個類成員很少應該這樣做。 –
@JerryCoffin:如果類有一個返回此共享數組的get方法,該怎麼辦? – Vince