bar*_*tek 2 c++ smart-pointers
我的基类需要公开一个方法,对于某些派生类,它会返回一个指向动态分配数组的智能指针,对于某些其他派生类,它将返回一个指向静态分配的指针/引用.
例:
class Base
{
public:
virtual ??? foo()=0;
}
class A : public Base
{
private:
float arr[10];
public:
??? foo(){ return ???arr; }
}
class B : public Base
{
public:
??? foo(){
allocate array;
return ???array;
}
}
Run Code Online (Sandbox Code Playgroud)
动态分配的数组是在类方法中创建的,我更喜欢使用std::unique_ptr.但是我应该为类中的静态分配数组做些什么A呢?
我应该创建自己的派生类,std::unique_ptr它会知道指针分配,并且不会试图破坏静态分配的指针,或者可能已经存在这样的智能指针?