• STL 容器操作集合


    void RemoveAll(){    
            cout << "delete :" << "  Pointer:"<< (this)<<  "--"<< this->name.c_str()  << endl;

               //TRACE("delete  %s\n" , this->name);
        
            vector::iterator ite = v.begin();
            while (ite != v.end())
            {
                if (*ite != NULL)
                {

                   ((Component*)(*ite))->RemoveAll();                
                    delete *ite;
                    *ite = NULL;
                }
                v.erase(ite);
                ite = v.begin();
            }     


    #include
    #include
    #include
    #include

    #include

    using namespace std;


    /** * 程序执行的入口点。 */
    int main()
    {
        // 在标准输出中打印 "Hello, world!"
        // std::cout << "Hello, world!" << std::endl;
        cout << "Hello, world!" << endl;
        cout << to_string(56) << endl;

        //计划做一下vector的输入输出
        vector v;

        v.push_back(34);
        v.push_back(35);

        cout << v.size() << endl;

        vector::iterator it = v.begin();
        while (it != v.end())
        {
            cout << *it << endl;
            it++;
        }

        while (!v.empty())
        {
            v.erase(v.begin());
        }

    for (vector::iterator it = v.begin(); it != v.end();) {
        if (*it == 2) {
            it = v.erase(it);
        } else {
            ++it;
        }
    }

    ///

    vector m_vecComp;

    //释放内存   

     ~Composite()
        {
            vector::iterator ite = m_vecComp.begin();
            while(ite != m_vecComp.end())
            {
                if(*ite != NULL)
                {
                    cout<<"delete"<<(*ite)->GetName()<                 delete *ite;
                    *ite = NULL;
                }
                m_vecComp.erase(ite);
                ite = m_vecComp.begin();
            }
        }

    void Remove(Component* pComponent)
        {
            vector:: iterator ite ;
            for(ite = m_vecComp.begin(); ite != m_vecComp.end(); ite++ ){
                if((*ite)->GetName() == pComponent->GetName())
                {
                    if(*ite != NULL)
                    {
                        delete *ite;
                        *ite = NULL;
                    }
                    m_vecComp.erase(ite);
                    break;
                }
            }

        }

    //


    //测试查找后移除表中的元素 
    void remove( float xy ,float z)
    {          
          for(vector::iterator it = vN.begin() ; 
          it != vN.end() ; ++it)
          {
            if((*it)->x == xy && (*it)->z == z)
            {            
                    delete (*it);            
                    (*it) = NULL;                
                    vN.erase(it);
                    break;                        
            }                      
          }    
    }

    ///

        cout << v.size() << endl;

        int a[3] = {3, -2, 12};
        int b[3] = {2, 1, 1};

        int k = (b[0] / a[0]);

        int c1 = b[1] - k * a[1];

        cout << c1 << endl;

        //计划做一下set的输入输出
        set s;
        s.insert(25);
        s.insert(28);
        s.insert(20);

        set::iterator sit;
        sit = s.begin();
        while (sit != s.end())
        {
            cout << *sit << endl;
            ++sit;
        }

        //取得第一个数值
        int s1 = *(s.begin());
        cout << s1 << endl;

        //取得最后一个数值
        int e1 = *(--s.end());
        cout << e1 << endl;

        //删除清空
        while (!s.empty())
        {
            s.erase(s.begin());
        }
        s.clear();

        //计划做一下list的输入输出
        list l;

        l.push_back(5);
        l.push_back(8);

        list::iterator lit = l.begin();
        while (lit != l.end())
        {
            cout << *lit << endl;
            lit++;
        }
        while (!l.empty())
        {
            l.erase(l.begin());
        }

        cout << "all ok !..." << endl;
        return 0;
    }

  • 相关阅读:
    盘点 4 个开源小游戏
    CSSStyleSheet 对象(css 样式表)- 你不知道的有趣功能
    如何永久关闭WPS任务窗口?
    Node.js 做 Web 后端的优势在哪?为什么是明智的选择?
    【移远QuecPython】EC800M物联网开发板的内置GNSS定位的恶性BUG(目前没有完全的解决方案)
    【物联网】NB-IoT
    routeDone with a webviewId 26 that is not the current page在uniapp运行过程中出现的报错
    cad快捷键命令大全
    百度飞浆环境安装
    2022-08-13 达梦创建实例与用户密码过短
  • 原文地址:https://blog.csdn.net/jxb_8888/article/details/128168521