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

爬虫 wordpress优化百度涨

爬虫 wordpress,优化百度涨,网页设置快捷方式,wordpress 分类文章数目录 一、浅拷贝 1.定义 2.示例 3.问题 二、深拷贝 1.定义 2.示例 3.优点 三、考虑场景 浅拷贝的考虑 1.性能要求 2.简单地数据结构 3.资源管理 深拷贝的考虑 1.动态内存分配 2.复杂数据结构 3.资源管理 总结 一、浅拷贝 1.定义 浅拷贝是指对对象进行复制时…

目录

一、浅拷贝

1.定义

2.示例

3.问题

二、深拷贝

1.定义

2.示例

3.优点

三、考虑场景

浅拷贝的考虑

1.性能要求

2.简单地数据结构

3.资源管理

深拷贝的考虑

1.动态内存分配

2.复杂数据结构

3.资源管理

总结


一、浅拷贝

1.定义

浅拷贝是指对对象进行复制时,只是简单地复制对象中的每个成员的值,包括基本数据类型和指针。对象的指针成员被复制,但它们仍然指向相同的内存地址

2.示例

#include <iostream>class ShallowCopyExample {
public:int *data;ShallowCopyExample(int val) {data = new int(val);}// 浅拷贝构造函数ShallowCopyExample(const ShallowCopyExample &other) : data(other.data) {}~ShallowCopyExample() {delete data;}
};int main() {ShallowCopyExample obj1(42);ShallowCopyExample obj2 = obj1; // 浅拷贝发生在这里std::cout << *obj1.data << std::endl; // 输出:42std::cout << *obj2.data << std::endl; // 输出:42,因为共享相同的内存地址// 当 obj1 被销毁时,obj2.data 指向的内存就变成了悬空指针return 0;
}

3.问题

当两个对象共享相同的内存地址时,一个对象的改变会影响另一个对象。在销毁其中一个对象时,可能会导致悬空指针的问题。

二、深拷贝

1.定义

深拷贝是指在对象赋值时,为对象的每一个指针成员分配新的内存,新的内存内存放源对象的副本。两个对象相互独立,对一个对象的修改不会影响到另一个对象。

2.示例

#include <iostream>class DeepCopyExample {
public:int *data;DeepCopyExample(int val) {data = new int(val);}// 深拷贝构造函数DeepCopyExample(const DeepCopyExample &other) : data(new int(*(other.data))) {}~DeepCopyExample() {delete data;}
};int main() {DeepCopyExample obj1(42);DeepCopyExample obj2 = obj1; // 深拷贝发生在这里std::cout << *obj1.data << std::endl; // 输出:42std::cout << *obj2.data << std::endl; // 输出:42,因为拷贝了新的内存// 当 obj1 被销毁时,obj2.data 不受影响return 0;
}

3.优点

避免了浅拷贝可能导致的共享内存的问题,提高程序的安全性。并且对象是相互独立的,不会出现悬空指针和内存泄漏的问题。

注意:

  • 对于包含复杂结构的对象,需要正确实现深拷贝构造函数和析构函数。
  • 深拷贝可能会导致性能开销,因为需要额外的内存分配和复制操作。

三、考虑场景

深拷贝和浅拷贝的选择取决于程序的需求、数据结构的设计等等。下面是一些情况下考虑使用深拷贝或浅拷贝的情景:

浅拷贝的考虑

1.性能要求

浅拷贝通常比深拷贝更高效,因为它只是简单地复制指针而不涉及到动态内存的分配和复制。对性能要求较高的情况下,会选择浅拷贝。

2.简单地数据结构

当对象中只包含基本数据类型或者没有动态分配内存的情况喜爱,浅拷贝可能足够满足需求,并且实现起来比较简单。

3.资源管理

当使用者不希望负责对象中的资源管理时,浅拷贝可以更合适。

深拷贝的考虑

1.动态内存分配

当类中包含指针成员,并且这些指针指向动态分配的内存时,通常考虑使用深拷贝,以避免对个对象共享相同的内存地址。

2.复杂数据结构

当对象包含复杂的结构、子对象或容器时,深拷贝可以确保所以层次的数据都能正确地进行复制。

3.资源管理

当使用者需要负责管理对象中的资源时,深拷贝通常是更合适的选择,因为它将资源的控制权交给了拷贝的对象。

总结

总的来说,深拷贝是一种更安全的拷贝方式,尤其在涉及到动态内存分配时,可以避免悬空指针和内存泄漏的问题。不过,具体选择深拷贝还是浅拷贝取决于具体的需求和对象的结构,有的情况下选择浅拷贝会更合适。

http://www.15wanjia.com/news/54669.html

相关文章:

  • 做淘宝客需要自己建网站吗热点新闻事件素材
  • 网站设置不拦截设计网站官网
  • 可以做cps合作的棋牌网站seo规则
  • 中山企业网站建设现在外贸推广做哪个平台
  • 房门户网站如何做优化汕头网站设计公司
  • 网站源码php网站网络优化外包
  • wordpress顶栏宁波seo关键词优化教程
  • 实训网站建设的心得总结百度6大核心部门
  • wordpress 变形河北seo基础知识
  • asp网站建设 aws网店seo名词解释
  • 想做一个网站平台怎么做百度工具seo
  • 网上二手书网站开发中的问题和展望微信投放广告多少钱
  • 广州做韩国网站百度超级链
  • 设计培训培训网站建设百度快照官网
  • wordpress content优化设计三年级上册答案语文
  • 在线开发网站建设电子邮件营销
  • 做私人网站产品故事软文案例
  • 做网站推广哪家好网络营销策划总结
  • wordpress robots在哪北京seo教师
  • 无锡网站建设选众鼎市场推广计划方案
  • 东莞网站建设营销哪家好宁波seo整体优化
  • 武汉做个网站多少钱天天外链官网
  • 网站建设 展滔科技大厦线下推广100种方式
  • 响应适网站开发百度首页排名优化价格
  • 装修设计网站哪个好用今日财经新闻
  • 三河网站seo东莞seo排名外包
  • 套模板做网站 链接怎么做百度推广优化
  • 怎么找有赞做网站软文推广去哪个平台好
  • 制作企业网站首页效果图seo主要做哪些工作
  • 理性仁网站如何做估值分析长沙免费建站网络营销