vector<int *>m_Pointers;这样的一个变量释放的时候,要怎么释放(注意不要产生内存泄漏)
 

解决方案 »

  1.   

    最后搞个
    for(........)
    {
      delete........
    }
      

  2.   

    我翻译一下:最后搞个for什么什么{delete什么什么}^^
      

  3.   

    把m_Pointers中的成员一个个读出来delete,如果在其他地方delete过了,就不用在此处理了。如何new的就如何delete
    new int -> delete
    new int[] -> delete[]
      

  4.   

    vector在添加元素的时候会创建一个内存副本,将需要的数据拷贝到这个副本里面,然后将这个副本加入到链表里面,和你自己创建的指针就没有关系了,对于vector来说,你直接clear就可以了吧,而对于你自己创建的指针对象,在加入vector后,你想怎么处理就怎么处理
      

  5.   

    delete[] m_Pointers[i];
    delete[] (*vector <int *>::iterator);
      

  6.   

    具体可看下http://topic.csdn.net/u/20090622/11/3fd98e9b-ea06-41cd-8385-3a3a32ced3e9.html
      

  7.   

    for(iterator = xx.begin(); iterator != xx.end(); iterator++)
    delete *iterator
      

  8.   


    void CTianDyMgr::removePlayWnds()
    {
    std::vector<CPlayWnd_TianDy*>::iterator it = m_vcPlayWnds.begin();
    while (it != m_vcPlayWnds.end())
    {
    CPlayWnd_TianDy* playWnd = (*it);
    delete playWnd;
    it = m_vcPlayWnds.erase(it);
    }
    }
      

  9.   

    std::vector<CSARMap*> m_vecPolarMap;
    释放:
    for (int i = 0; i < m_vecPolarMap.size(); i++)
    {
    delete m_vecPolarMap[i];
    m_vecPolarMap[i] = NULL;
    }