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

医疗网站建设模板制作苏州网站建设渠道

医疗网站建设模板制作,苏州网站建设渠道,wordpress怎么做后端,绵阳最有实力的公司网站建设1、new delete与malloc free区别 new delete是运算符#xff0c;malloc free是函数。 前者不需要传入大小#xff0c;后者需要。 前者会调用构造、析构函数#xff0c;后者不会。 前者不需要强制转换#xff0c;后者需要。 2、智能指针 智能指针是避免忘记释放动态申请对象…1、new delete与malloc free区别 new delete是运算符malloc free是函数。 前者不需要传入大小后者需要。 前者会调用构造、析构函数后者不会。 前者不需要强制转换后者需要。 2、智能指针 智能指针是避免忘记释放动态申请对象容易内存泄漏而设计的。主要特点是会在离开作用域会使用delete进行内存释放。实现原理也就是在构造函数中new对象析构函数中delete对象。智能指针有share_ptr、auto_ptr、unique_ptr、weak_ptr。 auto_ptr当使用拷贝或赋值构造函数时会将右值赋值给左值后将右值指针置零局限性就在复制后不能使用。 unique_ptr在auto_ptr的基础上直接禁用赋值和拷贝构造函数这样从根本上解决了问题但是赋值时会比较麻烦。 其中shared_ptr中有一个引用计数用于记录多少个对象指向申请内存析构这些对象时计数值减1为0时候再释放动态内存。避免了重复释放的问题。但是会引出循环引用的问题创建出来的两个对象通过shared_ptr相互指的时候析构时由于被别的对象指向所以计数值不为0导致无法调用析构函数释放内存。解决办法是创建时使用shared_ptr引用时使用weak_ptr。 shared_ptr实现原理理解基本原理细节没有处理 #include iostream #include memoryusing namespace std;class boy; class girl;templatetypename Tclass my_shared_ptr {public:my_shared_ptr(T *a){ref_cnt 1;Type_Ptr a;}my_shared_ptr(T a){ref_cnt 1;Type_Ptr a;}my_shared_ptr(){ref_cnt 1;Type_Ptr NULL;}void Release(){if(Type_Ptr((--ref_cnt) 0)){delete Type_Ptr;Type_Ptr NULL;}}~my_shared_ptr(){Release();}T* operator-(){return Type_Ptr;}T operator*(){return *Type_Ptr;}my_shared_ptr operator(my_shared_ptr target){if(this ! target){Release();Type_Ptr target.Type_Ptr;ref_cnt target.ref_cnt;target.Ref_Add();}return *this;}void Ref_Add(){ref_cnt;}private:T *Type_Ptr;int ref_cnt; };// 男孩类 class boy { public:boy() { cout boy structure endl; }~boy() { cout ~boy destruct endl; }void set_girl_friend(my_shared_ptrgirl g) {girl_friend g;}private:my_shared_ptrgirl girl_friend; };// 女孩类 class girl { public:girl() { cout girl structure endl; }~girl() { cout ~girl destruct endl; }void set_boy_friend(my_shared_ptrboy b) {boy_friend b;}private:my_shared_ptrboy boy_friend; };// 测试函数 void test() {// 定义共享指针初始化指向新建的girl女孩类my_shared_ptrgirl sp_girl(new girl()); // 定义共享指针初始化指向新建的boy男孩类my_shared_ptrboy sp_boy (new boy());// 调用 sp_girl 指向 girl 的成员函数 set_boy_friend // 将 sp_boy 共享指针作为参数传递进成员函数sp_girl-set_boy_friend(sp_boy);// 调用 sp_boy 指向 boy 的成员函数 set_girl_friend// 将 sp_girl共享指针作为参数传递进成员函数sp_boy-set_girl_friend(sp_girl); }int main(void) {// 调用测试函数test();return 0; } weak_ptr不能改变引用计数只能观察对象不能直接使用*和-访问对象需要通过lock()获得一个指向共享对象的shared_ptr然后操作该共享指针。
http://www.yutouwan.com/news/405750/

相关文章:

  • 用来做微网站的软件工程考研学校排名
  • 现在建设网站落后了阿里云企业网站备案流程
  • 个人注什么域名的网站dede视频网站
  • 本科自考科目有哪些成都seo培训
  • 网站形象首页flash有建设网站的软件吗
  • 网络广告网站怎么做精品网站导航 做最好的导航
  • 国家合同模板网站wordpress 主图截图
  • 视觉传达设计网站网站域名和网站网址吗
  • 科技类网站简介怎么做北京网站设计济南兴田德润团队怎么样
  • 门户网站优化报价第三方平台推广引流
  • 网站主机是什么意思创新网站建设工作
  • 太原百度关键词推广优化设计答案大全
  • 商丘哪里有网站建设泰国一家做男模的网站
  • 云南 网站建立硬件开发板
  • 寿光网站建设定制电影网站怎么做的
  • 重庆铜梁网站建设费用安卓开发菜鸟教程
  • 织梦网站自动跳转手机网站河北省石家庄市官网
  • 台江网站建设福州搜索排名提升
  • 做卫生用品都在什么网站有哪些网站是拐角型
  • 随州百度网站建设整套网站模板下载
  • 五一网站个人空间做短视频网站收益
  • 辽宁省营商建设监督局网站创业的好项目
  • 北京人才招聘网站做奢侈品网站有哪些
  • 自己的电脑做网站当服务器使用怎么知道网站关键词的搜索来源
  • 公司网站制作有哪些.me做社区网站
  • 用fw做明星的网站fullpane 单页视差多用途 wordpress主题
  • 张家界商城网站开发设计吉林平台网站建设多少钱
  • 顺德区建设局网站提供网站建设商家
  • 沅江市建设局网站惠州淡水网站建设公司
  • 网站开发项目拖延周期上海前100强企业名单