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

全国妇联官方网站儿童之家建设wordpress 单本小说站

全国妇联官方网站儿童之家建设,wordpress 单本小说站,我是做装修的怎么样投资网站,网上做娱乐广告的网站浅拷贝 浅拷贝就是单纯拷贝指向该对象的内存#xff0c;所以在进行多次浅拷贝后只是相当于多了几个指向同一个对象的指针#xff0c;而深拷贝相当于完全复制了一个对象副本。浅拷贝指的是复制对象的所有成员变量的值#xff0c;不管这些值是指针、基本数据类型还是其他对象…浅拷贝 浅拷贝就是单纯拷贝指向该对象的内存所以在进行多次浅拷贝后只是相当于多了几个指向同一个对象的指针而深拷贝相当于完全复制了一个对象副本。浅拷贝指的是复制对象的所有成员变量的值不管这些值是指针、基本数据类型还是其他对象但当涉及到指针时浅拷贝只会复制指针的值即地址而不是它所指向的数据这可能会导致多个对象共享相同的数据。这与深拷贝相反深拷贝会创建原对象指针所指向的数据的一个新副本。 默认的拷贝构造函数和赋值运算符实现的就是浅拷贝。因此如果你不为类提供自定义的拷贝构造函数和赋值运算符编译器会为你提供默认的实现这就是浅拷贝。 以下是一个简单的浅拷贝的例子 #include iostreamclass 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.data和obj2.data都指向相同的地址。因此改变其中一个也会影响到另一个。 注意浅拷贝通常是不安全的特别是当类中有动态分配的资源时。在上面的例子中当obj1和obj2都析构时它们都会尝试释放同一块内存这会导致未定义的行为。为了避免这种情况你通常需要实现深拷贝或者使用智能指针来管理资源。 深拷贝 在C中深拷贝意味着当对象被拷贝时不仅复制对象的所有成员变量值而且还复制其指针成员变量所指向的数据。这与浅拷贝相反浅拷贝只会复制指针的值而不是其所指向的数据可能导致多个对象共享相同的数据。 为了实现深拷贝你通常需要为类提供自定义的拷贝构造函数和赋值运算符并在其中对指针成员进行深拷贝。 下面是一个深拷贝的示例 #include iostreamclass 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://www.dnsts.com.cn/news/273244.html

相关文章:

  • php网站建设培训国际网站哪里做
  • 做的网站客户拿去维违法简单网页模版
  • 专业网站建网站流量统计
  • 邢台哪儿能做网站湖南seo服务电话
  • ps做 网站教程个人网页制作流程论文
  • 邮箱官方网站注册柳州seo培训
  • 网站建设广告投放是什么丽水网站建设费用
  • 营销网站文章去那找江门网站建设运营团队
  • 湖州网站设计平台烟台网站建设yt
  • 单位网站建设费算无形资产吗深圳网站建设定制
  • 做试试彩网站人员东莞网站建设优化诊断
  • 如何免费建立一个网站沈阳三好街做网站公司
  • 门户类网站建设大约多少钱dw网站建设教程视频
  • 网站建设需求分析的功能wordpress postviews
  • 网站ftp管理工具南京做网站费用
  • 电子商务企业网站的基本功能海外网络推广培训
  • 做网站用的代码学校网站制作软件
  • 货代去什么网站开发客户wordpress主题工作室
  • 聚合搜索引擎上海专业优化排名工具
  • 手机网站的特点吉林省建设厅网站杨学武
  • 大流量网站 文章点击电子商务网站后台功能
  • 浙江移动网站建设制作竣工验收报告查询网
  • 中南建设的网站wordpress代码运行
  • 如何让百度抓取网站医药cms是什么意思
  • 临沂建网站公司上海建站
  • 百度站长网站地图多商户开源商城
  • 网站开发的工作职责国内免费无版权视频素材网站
  • 深圳成品网站超市修改wordpress博客
  • 国际贸易网站有哪些美食网站设计规划书
  • jsp网站项目贵阳专业网站建设公司