2
如果我有以下3個類來隱藏數據類型和存儲信息,我需要一個虛擬析構函數嗎?我被引導不相信,但現在我不確定。 如果可能的話,我寧願不包括它,因爲性能原因。爲了例子清除類。使用隱形模式時需要虛擬析構函數嗎?
#include <memory>
class DarkHideInterface
{
public:
bool test;
};
template <typename T>
class DarkHideInterfaceImpl : public DarkHideInterface
{
public:
DarkHideInterfaceImpl (const T& t) : _t(t) {}
private:
T _t;
};
class DarkHide
{
public:
template <class T> DarkHide (const T& t) : p_(new DarkHideInterfaceImpl<T>(t)) { }
private:
std::auto_ptr<DarkHideInterface> p_;
};
謝謝,這對我有意義。我想知道新的0x標準中的unique_ptr是否會以相同的方式工作。 – bjackfly