zoukankan      html  css  js  c++  java
  • 关于 STL::list 保存对象的一些注意

        std::list<testclass> tt(3);
        testclass test;
        tt.push_back(test);

    上述方式进行初始化的时候 会分别调用构造函数进行初始化。

        tt.pop_back();

    pop_back()的时候也会自动调用析构函数进行销毁工作。



        std::list<testclass*> tts(1);
        testclass test;
        testclass* ts;
        ts = new testclass();
        tts.push_back(ts);
    这种方式进行储存的时候 仅仅保存的的是ts这个指针指向位置的地址,同时,初始化的时候仅仅初始化指针,不会构造对象

        delete ts;
        ts = 0;
        testclass*  ss = tts.back();
    此时改变了析构掉了ts指向的对象,但是 ss 的值仍然为原来ts指向的地址。而此时ts的值为0。

        tts.pop_back();
    pop_back()的时候不会调用ts指向内容的析构函数。



  • 相关阅读:
    MySQL用户
    python -- 中
    Python -- 上
    Zabbix导入数据库时报错
    chmod无执行权限
    编译安装Tengine
    Nginx的调度算法
    nginx--第三方模块echo
    ngx_http_headers_module
    nginx---隐藏或添加后端服务器的信息
  • 原文地址:https://www.cnblogs.com/fanqs/p/2994849.html
Copyright © 2011-2022 走看看