检查对象是否是动态分配的

时间:2015-07-26 10:34:11

标签: c++ templates

我有一个名为Manager的类模板,负责添加,查询和删除对象。这是头文件:

template<class T>
class Manager
{
public:
    Manager() {}
    ~Manager();

    void addObject(const std::string &name, T object);
    void removeObject(const std::string &name);
    void removeAllObjects();

    unsigned int getNumObjects() const;
    T getObject(const std::string &name) const;

private:
    std::unordered_map<std::string, T> _objects; //name, object
};

现在说我有一个int指针的Manager对象,并添加堆分配的整数,如myManager.addObject("heap allocated", new int(3))

是否可以在Manager::removeObject()中知道每个插入的对象是否都是堆分配的,那么我知道是否需要调用delete

0 个答案:

没有答案