管理模板实例

实际工作中,C++的高级语法特性很少用。以简单为主,模板啥的很少。
记录下所不熟悉的问题。

问题来源:
       想随时查看所有对象池的实例的详情。


对象池
template<class T>
class poolmgr
{
}

记录所有此对象池的实例
class poolmeminfo
{
//增加,移除接口
private:
    std::list<poolmgr*> m_infolist;
}

问题来了。模板参数T问题。。。

询问了一个网友,解决方案是通过基类,当然所需要的接口定义为虚函数

如下:
class poolmgrbase
{
public:
    poolmgrbase(){}
    virtual ~poolmgrbase(){}
    virtual void writeinfotofile (FILE *fp) = 0;
};

template<class T>
class poolmgr:public poolmgrbase
{
}


class poolmeminfo
{
//增加,移除接口
private:
    std::list<poolmgrbase*> m_infolist;
};

至此Ok。
话说要是真不知道杂弄,都打算换C的对象池了。。。

原文地址:https://www.cnblogs.com/lcinx/p/10570483.html