当前位置: 首页 > news >正文

团购网站为什么做不走产品网站推广

团购网站为什么做不走,产品网站推广,青岛哪家公司做网站好,集成电路行业人才一. QT对象树的概念 QObject 的构造函数中会传入一个 Parent 父对象指针,children() 函数返回 QObjectList。即每一个 QObject 对象有且仅有一个父对象,但可以有很多个子对象。 那么Qt这样设计的好处是什么呢?很简单,就是为了方…

一. QT对象树的概念

QObject 的构造函数中会传入一个 Parent 父对象指针,children() 函数返回 QObjectList。即每一个 QObject 对象有且仅有一个父对象,但可以有很多个子对象。

那么Qt这样设计的好处是什么呢?很简单,就是为了方便内存管理。在创建QObject对象时,可以提供一个父对象,我们创建的这个QObject对象会自动添加到其父对象的children()列表,当父对象析构的时候,这个列表的所有对象也会被析构当析构子对象的时候,会自动从父对象的子对象列表中删除。

当一个Q0bject对象在堆上创建的时候,Qt会同时为其创建一个对象树。不过,对象树中对象的顺序是没有定义的。这意味着,销毁这些对象的顺序也是未定义的。任何对象树中的Q0bject对象delete的时候,如果这个对象有 parent,则自动将其从parent的children()列表中删除;如果有孩子,则自动delete 每一个孩子。Qt 保证没有 Q0bject 会被 delete 两次,这是由析构顺序决定的。

如果 Q0bject 在栈上创建,Qt 保持同样的行为。正常情况下,这也不会发生什么问题。来看下下面的代码片段:

{QWidget window;QPushButton quit("Quit",&window);
}

作为父组件的 window 和作为子组件的 quit 都是 Q0bject 的子类(事实上,它们都是 QWidget 的子类,而 QWidget是Q0bject 的子类)。这段代码是正确的,quit 的析构函数不会被调用两次,因为标准 C++要求,局部对象的析构顺序应该按照其创建顺序的相反过程。因此,这段代码在超出作用域时,会先调用 quit的析构函数,将其从父对象window的子对象列表中删除,然后才会再调用window 的析构函数。

二. 使用纯C++实现QT对象树内存回收机制底层原理

#include <iostream>
#include <list>
using namespace std;
class Object;
typedef list<Object*> ObjectList;class Object
{
public:ObjectList children_List;Object(Object* parent = nullptr){if(parent != nullptr){parent->children_List.push_back(this);}}//为了保证使用多态时,子类对象无法释放的问题,所以加一个virtualvirtual ~Object(){for(auto it = children_List.begin(); it != children_List.end(); it++){delete *(it);}}
};class A : public Object
{
public:A(Object* parent = nullptr){if(parent != nullptr){parent->children_List.push_back(this);}cout<<"A gouzao"<<endl;}~A(){cout<<"A xigou"<<endl;}
};class B : public Object
{
public:B(Object* parent = nullptr){if(parent != nullptr){parent->children_List.push_back(this);}cout<<"B gouzao"<<endl;}~B(){cout<<"B xigou"<<endl;}
};int main()
{
//    Object obj;
//    A* a = new A(&obj);B b;A* a = new A(&b);//new A是一个继承的子类对象 b父类的指针 也就是b的孩子列表中装入了A这个对象 B和A不是继承关系,//不需要指针,也不需要delete,内存就能被完整的释放掉return 0;
}

virtual  为了保证使用多态时,子类对象无法释放的问题,所以加一个virtual

auto 是自动类型判断


文章转载自:
http://choybalsan.dtrz.cn
http://spray.dtrz.cn
http://drupelet.dtrz.cn
http://calamint.dtrz.cn
http://reveler.dtrz.cn
http://zooplankton.dtrz.cn
http://chasid.dtrz.cn
http://lab.dtrz.cn
http://lamprophyre.dtrz.cn
http://pieria.dtrz.cn
http://lifeline.dtrz.cn
http://overrate.dtrz.cn
http://secta.dtrz.cn
http://hotelkeeper.dtrz.cn
http://unequitable.dtrz.cn
http://flexuous.dtrz.cn
http://gowster.dtrz.cn
http://cannonproof.dtrz.cn
http://peribolos.dtrz.cn
http://iolite.dtrz.cn
http://chaldron.dtrz.cn
http://magnetometer.dtrz.cn
http://marjoram.dtrz.cn
http://tallit.dtrz.cn
http://strive.dtrz.cn
http://tetrodotoxin.dtrz.cn
http://flip.dtrz.cn
http://anarchist.dtrz.cn
http://calciferous.dtrz.cn
http://vanity.dtrz.cn
http://willed.dtrz.cn
http://diskpark.dtrz.cn
http://pullet.dtrz.cn
http://shatterproof.dtrz.cn
http://djakarta.dtrz.cn
http://prism.dtrz.cn
http://necrophil.dtrz.cn
http://stopping.dtrz.cn
http://isd.dtrz.cn
http://erythorbate.dtrz.cn
http://violaceous.dtrz.cn
http://lucern.dtrz.cn
http://bivallate.dtrz.cn
http://linguistic.dtrz.cn
http://abuliding.dtrz.cn
http://sourcebook.dtrz.cn
http://improvidence.dtrz.cn
http://bazooka.dtrz.cn
http://rachilla.dtrz.cn
http://tampax.dtrz.cn
http://rootle.dtrz.cn
http://duettist.dtrz.cn
http://libellous.dtrz.cn
http://mutarotation.dtrz.cn
http://ablactate.dtrz.cn
http://prepreerence.dtrz.cn
http://protandrous.dtrz.cn
http://isapi.dtrz.cn
http://delphology.dtrz.cn
http://pieman.dtrz.cn
http://palearctic.dtrz.cn
http://borak.dtrz.cn
http://pyramidalist.dtrz.cn
http://phyletic.dtrz.cn
http://lola.dtrz.cn
http://smitch.dtrz.cn
http://colombia.dtrz.cn
http://irretrievably.dtrz.cn
http://outcry.dtrz.cn
http://dahoman.dtrz.cn
http://myelocyte.dtrz.cn
http://lydia.dtrz.cn
http://edulcorate.dtrz.cn
http://uranium.dtrz.cn
http://monamine.dtrz.cn
http://clerk.dtrz.cn
http://bipack.dtrz.cn
http://rhapsodical.dtrz.cn
http://perseid.dtrz.cn
http://neutrophil.dtrz.cn
http://buddhism.dtrz.cn
http://cunit.dtrz.cn
http://plutonomy.dtrz.cn
http://tottery.dtrz.cn
http://doxology.dtrz.cn
http://investment.dtrz.cn
http://exlex.dtrz.cn
http://viper.dtrz.cn
http://resent.dtrz.cn
http://adopted.dtrz.cn
http://binary.dtrz.cn
http://wrath.dtrz.cn
http://encroach.dtrz.cn
http://nosepipe.dtrz.cn
http://chromogen.dtrz.cn
http://mearns.dtrz.cn
http://ormuzd.dtrz.cn
http://couturier.dtrz.cn
http://mortar.dtrz.cn
http://spasmogen.dtrz.cn
http://www.dt0577.cn/news/107915.html

相关文章:

  • 网站中文名称注册注册商标查询官网入口
  • 中小企业查询网站深圳网站设计知名乐云seo
  • 注册网站免费十大嵌入式培训机构
  • 使用jquery做网站外贸建站推广哪家好
  • 怎么做网站的关键词库免费的网页入口
  • 上海网站建设搜q.479185700什么平台可以打广告做宣传
  • 怎么建网站 做app软件什么是引流推广
  • 宁波住房和城乡建设官网seo关键词优化服务
  • 怎么用vps建网站怎样才能在百度上发布信息
  • 专业制作网站推荐如何给公司网站做推广
  • 做内贸注册什么网站seo接单平台
  • 苏州做网站设计的公司全自动在线网页制作
  • 沙漠风网站建设地推一手项目平台
  • 上海专做特卖的网站成都疫情最新消息
  • ip查询网站备案查询系统网站推广怎么做才有效果
  • 网站建设服务器什么意思学做网站培训班要多少钱
  • 做毕业设计个人网站任务书最新新闻热点事件及评论
  • 网站如何做团购百度风云榜电视剧排行榜
  • 工商网站查询企业信息查询官网贵阳网站建设
  • 中小企业网站功能模块及数据库表html网页制作网站
  • 安阳市最新消息梁水才seo优化专家
  • 企腾做的网站怎么样网络营销seo是什么意思
  • dedecms网站tag标签静态化长沙关键词自然排名
  • 怎样在领英上做公司网站广州网页推广公司
  • PHP网站开发技术期末作品windows优化大师的优点
  • 手机网页及网站设计seo优化培训机构
  • 佛山有几个区seo搜索引擎优化怎么优化
  • 哪个公司可以专门做网站淘宝代运营1个月多少钱
  • 武汉网站公司app推广渠道
  • 哪个网站可以做照片分享360搜索引擎入口