当前位置:  开发笔记 > 编程语言 > 正文

如何创建通用的std :: vector析构函数?

如何解决《如何创建通用的std::vector析构函数?》经验,为你挑选了2个好方法。

使用包含指向对象的指针的向量然后使用clear函数不会为向量中的对象调用析构函数.我做了一个手动执行此操作的函数,但我不知道如何使它成为可能在向量中的任何类型对象的泛型函数.

void buttonVectorCleanup(vector

这是我的函数,它适用于向量中特定类型的对象,但我想要一个可以使用任何类型的向量与对象指针的函数.



1> Leon Timmerm..:

您可能想要使用boost的指针容器.它们非常高效且安全.



2> KeithB..:

最好的办法是使用智能指针,例如Boost.然后将自动删除对象.

或者你可以制作模板功能

template 
void vectorCleanup(vector& dVector){
    T* tmpClass;
    for(vector::size_type i = 0; i < dVector.size(); i++){
        tmpClass = dVector[i];

        delete tmpClass;
    }

}

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有