我最近开始使用智能指针。 如果我是正确的,智能指针声明: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