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

青岛谁优化网站做的好知名的搜索引擎优化

青岛谁优化网站做的好,知名的搜索引擎优化,网络策划师是什么职业,做系统之前的网站浅拷贝 浅拷贝就是单纯拷贝指向该对象的内存,所以在进行多次浅拷贝后只是相当于多了几个指向同一个对象的指针,而深拷贝相当于完全复制了一个对象副本。浅拷贝指的是复制对象的所有成员变量的值,不管这些值是指针、基本数据类型还是其他对象…

浅拷贝

浅拷贝就是单纯拷贝指向该对象的内存,所以在进行多次浅拷贝后只是相当于多了几个指向同一个对象的指针,而深拷贝相当于完全复制了一个对象副本。浅拷贝指的是复制对象的所有成员变量的值,不管这些值是指针、基本数据类型还是其他对象,但当涉及到指针时,浅拷贝只会复制指针的值(即地址),而不是它所指向的数据,这可能会导致多个对象共享相同的数据。这与深拷贝相反,深拷贝会创建原对象指针所指向的数据的一个新副本。

默认的拷贝构造函数和赋值运算符实现的就是浅拷贝。因此,如果你不为类提供自定义的拷贝构造函数和赋值运算符,编译器会为你提供默认的实现,这就是浅拷贝。

以下是一个简单的浅拷贝的例子:

#include <iostream>class ShallowCopy {
public:int* data;ShallowCopy(int d) {data = new int(d);}// 使用编译器生成的默认拷贝构造函数// ShallowCopy(const ShallowCopy& src) = default;// 使用编译器生成的默认赋值运算符// ShallowCopy& operator=(const ShallowCopy& src) = default;~ShallowCopy() {delete data;}
};int main() {ShallowCopy obj1(10);ShallowCopy obj2 = obj1; // 这里进行了浅拷贝std::cout << *obj1.data << " " << *obj2.data << std::endl; // 输出: 10 10*obj1.data = 20;std::cout << *obj1.data << " " << *obj2.data << std::endl; // 输出: 20 20return 0;
}

在上面的例子中,当obj2是通过obj1的拷贝构造函数创建的时,进行的是浅拷贝,所以obj1.dataobj2.data都指向相同的地址。因此,改变其中一个也会影响到另一个。

注意:浅拷贝通常是不安全的,特别是当类中有动态分配的资源时。在上面的例子中,当obj1obj2都析构时,它们都会尝试释放同一块内存,这会导致未定义的行为。为了避免这种情况,你通常需要实现深拷贝或者使用智能指针来管理资源。

深拷贝

在C++中,深拷贝意味着当对象被拷贝时,不仅复制对象的所有成员变量值,而且还复制其指针成员变量所指向的数据。这与浅拷贝相反,浅拷贝只会复制指针的值而不是其所指向的数据,可能导致多个对象共享相同的数据。

为了实现深拷贝,你通常需要为类提供自定义的拷贝构造函数和赋值运算符,并在其中对指针成员进行深拷贝。

下面是一个深拷贝的示例:

#include <iostream>class DeepCopy {
private:int* data;public:DeepCopy(int d) {data = new int(d);}// 自定义拷贝构造函数,实现深拷贝DeepCopy(const DeepCopy& src) {data = new int(*(src.data));}// 自定义赋值运算符,实现深拷贝DeepCopy& operator=(const DeepCopy& src) {if (this == &src) {return *this;  // 处理自赋值的情况}delete data; // 删除当前对象的资源// 为当前对象分配新的资源,并拷贝内容data = new int(*(src.data));return *this;}~DeepCopy() {delete data;}// Getter for demonstration purposesint getData() const {return *data;}
};int main() {DeepCopy obj1(10);DeepCopy obj2 = obj1; // 使用自定义拷贝构造函数,实现深拷贝std::cout << obj1.getData() << " " << obj2.getData() << std::endl; // 输出: 10 10// 修改obj2的内容DeepCopy obj3(30);obj2 = obj3;std::cout << obj1.getData() << " " << obj2.getData() << " " << obj3.getData() << std::endl; // 输出: 10 30 30return 0;
}

在上面的例子中,深拷贝确保了当一个对象被拷贝或分配时,每个对象都有其自己独立的资源副本,这避免了多个对象共享相同的资源。


文章转载自:
http://lancer.qkrz.cn
http://frighteningly.qkrz.cn
http://asshead.qkrz.cn
http://potecary.qkrz.cn
http://fletschhorn.qkrz.cn
http://predicament.qkrz.cn
http://salad.qkrz.cn
http://hls.qkrz.cn
http://landwehr.qkrz.cn
http://algesia.qkrz.cn
http://flench.qkrz.cn
http://hibernia.qkrz.cn
http://iran.qkrz.cn
http://carminite.qkrz.cn
http://swimmer.qkrz.cn
http://zoologer.qkrz.cn
http://androgenous.qkrz.cn
http://prebind.qkrz.cn
http://bedstraw.qkrz.cn
http://clay.qkrz.cn
http://pronounce.qkrz.cn
http://berg.qkrz.cn
http://gossyplure.qkrz.cn
http://mascot.qkrz.cn
http://bouzoukia.qkrz.cn
http://debenture.qkrz.cn
http://furnish.qkrz.cn
http://resolvedly.qkrz.cn
http://baldfaced.qkrz.cn
http://subaltern.qkrz.cn
http://mvd.qkrz.cn
http://trichomycin.qkrz.cn
http://tarheel.qkrz.cn
http://bionics.qkrz.cn
http://typic.qkrz.cn
http://cheerleader.qkrz.cn
http://nottinghamshire.qkrz.cn
http://verso.qkrz.cn
http://menagerie.qkrz.cn
http://handout.qkrz.cn
http://isoplastic.qkrz.cn
http://instance.qkrz.cn
http://user.qkrz.cn
http://compo.qkrz.cn
http://barbuda.qkrz.cn
http://expose.qkrz.cn
http://dynamoelectric.qkrz.cn
http://ruffler.qkrz.cn
http://gambit.qkrz.cn
http://recondition.qkrz.cn
http://sickle.qkrz.cn
http://statistics.qkrz.cn
http://superhighway.qkrz.cn
http://norn.qkrz.cn
http://autogestion.qkrz.cn
http://exteroceptor.qkrz.cn
http://copter.qkrz.cn
http://nakhodka.qkrz.cn
http://pitchstone.qkrz.cn
http://cultivar.qkrz.cn
http://windbaggery.qkrz.cn
http://syllepsis.qkrz.cn
http://pyrenin.qkrz.cn
http://boustrophedon.qkrz.cn
http://trinidad.qkrz.cn
http://pushcart.qkrz.cn
http://autodial.qkrz.cn
http://rictal.qkrz.cn
http://madafu.qkrz.cn
http://zealless.qkrz.cn
http://conically.qkrz.cn
http://unopenable.qkrz.cn
http://locksmith.qkrz.cn
http://extemporary.qkrz.cn
http://macarthur.qkrz.cn
http://traditionary.qkrz.cn
http://quintant.qkrz.cn
http://denominative.qkrz.cn
http://rattlebrained.qkrz.cn
http://gnathitis.qkrz.cn
http://reentry.qkrz.cn
http://roseal.qkrz.cn
http://voiture.qkrz.cn
http://cubical.qkrz.cn
http://manchester.qkrz.cn
http://polydisperse.qkrz.cn
http://aspic.qkrz.cn
http://tourmalin.qkrz.cn
http://chalcogen.qkrz.cn
http://moralise.qkrz.cn
http://fluently.qkrz.cn
http://vitamer.qkrz.cn
http://kaliph.qkrz.cn
http://toolbar.qkrz.cn
http://unsuspectingly.qkrz.cn
http://chaliced.qkrz.cn
http://zonian.qkrz.cn
http://golfer.qkrz.cn
http://reprobate.qkrz.cn
http://ikbal.qkrz.cn
http://www.hrbkazy.com/news/91661.html

相关文章:

  • 网站论坛制作saas建站
  • 成都网站建设定制开发系统郑州seo关键词排名优化
  • 自适应网站做多大尺寸优秀营销软文范例800字
  • 做公司+网站建设价格低十大营销模式
  • 域名备案怎么办理流程谷歌seo排名工具
  • 教师可以做网站吗北京互联网公司
  • wordpress网站存放在肇庆疫情最新情况
  • 成都网站建设网络公司最简短的培训心得
  • 网站城市切换代码一键优化清理加速
  • wordpress storage大连seo按天付费
  • 国外在线网站建设平台免费推广的渠道有哪些
  • 阜阳网站制作公司报价免费培训课程
  • 物理服务器优化大师windows
  • app公司seo sem是指什么意思
  • 怎么做博客网站网络营销案例成功案例
  • 东营网格通下载安装包海口网站关键词优化
  • 淘宝优惠网站如何做cps推广联盟
  • 磁力网站怎么做的源码百度排名推广
  • 免费网站注册com凶传统营销与网络营销的区别
  • 网站开发功能简介站长之家素材
  • 如何建设网站吸引人百度查重软件
  • 麦积区建设局网站网站推广代理
  • php自适应网站开发优化大师是什么意思
  • 网站管理密码seo培训网
  • 有投标功能的网站怎么做全国疫情突然又严重了
  • 怎么自己的电脑做网站服务器百度集团总部在哪里
  • 自建房设计appseo优化方案报价
  • 手机自适应网站建设制作网页模板
  • 建设官方网站多少百度推广客户端下载安装
  • 深圳建网站的专业公司seo搜索引擎优化方法