【发布时间】:2011-10-28 01:22:32
【问题描述】:
如果我有以下 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_;
};
【问题讨论】:
标签: c++ virtual-destructor cloaking