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

昆明学院网站建设与维护试题/徐州seo

昆明学院网站建设与维护试题,徐州seo,html5电影网站建设,wordpress获取评论用户文章目录 一、拷贝构造函数二、拷贝初始化三、深浅拷贝 一、拷贝构造函数 如果一个构造函数的第一个参数是自身类型的引用,而且任何额外参数都有默认值,则此构造函数是拷贝构造函数。 class person { public: person(); //默认构造函数 pe…

文章目录

  • 一、拷贝构造函数
  • 二、拷贝初始化
  • 三、深浅拷贝



一、拷贝构造函数

如果一个构造函数的第一个参数是自身类型的引用,而且任何额外参数都有默认值,则此构造函数是拷贝构造函数。

class person
{
public:
person();             //默认构造函数
person(const person&);//拷贝构造函数
}

拷贝构造函数的第一个参数必须是一个引用类型。
如果没有定义一个拷贝构造函数,编译器会自动为我们定义一个,与合成拷贝构造函数。
合成拷贝构造函数用来阻止我们拷贝该类类型的对象。合成的拷贝构造函数会将其参数的成员逐个拷贝到正在创建的对象中。每个成员的类型决定了它如何拷贝,对于类类型的成员,会使用其拷贝构造函数来拷贝,内置类型的成员则直接拷贝。

二、拷贝初始化

//直接初始化
string dot(100,',');
string ss(dot);
//拷贝初始化
string s1=dot;
string s2="1324135";
string s3=string(100,'2');

直接初始化,实际要求编译器使用普通的函数匹配来选择与我们提供的参数最匹配的构造函数。
拷贝初始化,要求编译器将右侧运算对象拷贝到正在创建的对象中,如果有需要还要进行类型转换。

三、深浅拷贝

先来看代码

#include<iostream>
using namespace std;
class person
{
public:person(){cout << "person()的默认构造" << endl;}person(int age,int hight){myage = age;myheight =new int( hight);cout << "person()的有参函数构造" << endl;}//shenkaobeiperson(const person& p){myage = p.myage;//myheight = p.myheight;编译器默认(浅拷贝)提供的//因为是指针地址,会导致两个名释放同一块内存空间//深拷贝myheight = new int(*p.myheight);}~person(){//析构函数将,堆区 ,开辟的数据进行释放if (myheight != NULL){delete myheight;myheight = NULL;}cout << "person()的析构函数构造" << endl;}int myage;int* myheight;
};
void test01()
{person p1(10,120);person p2(p1);cout << p2.myage<<endl <<*p2.myheight<< endl;return;
}
int main()
{test01();system("pause");return 0;
}

浅拷贝:myage = p.myage;
深拷贝:myheight = new int(*p.myheight);
拷贝函数:person p2(p1);、
进行析构时,由于创建了两个对象。p1,p2,所以析构时会调用两次析构函数,所以如果要是进行浅拷贝的话,myheight=p.myheight;

在这里插入图片描述

相当于把地址赋值给p2,两个p1 p2指向同一块内存,所以再释放时
会释放两次。
而深拷贝则会从新开辟一块内存,从而防止同一块内存释放两次。

http://www.jmfq.cn/news/4892599.html

相关文章:

  • 环保企业的网站怎么做/网络推广的工作好做吗
  • 做时时彩网站被抓/百度快照客服人工电话
  • 江西企业网站建设费用/怎么样在百度上免费推广
  • 长沙微网站制作/搜索引擎广告图片
  • 怎么做贝店式的网站/百度推广河南总部
  • 真么在网站里搜索/爱站网 关键词挖掘
  • 网页布局的基础/上海关键词优化公司bwyseo
  • 企业网站模板下载网址/网站页面优化包括
  • 新疆生产建设兵团第十二师/seo全网推广
  • 东莞响应式网站实力乐云seo/大连头条热点新闻
  • 做汽车的网站/nba排名最新赛程
  • 做腰椎核磁证网站是 收 七/廊坊今日头条新闻
  • 重庆网站建设流程/上海有什么seo公司
  • 互联网app推广具体怎么做/搜索引擎营销与seo优化
  • 提供网站建设公司哪家好/新媒体seo指的是什么
  • 网站建设推广哪个好/网络广告的收费模式有哪些
  • 做介绍自己的短视频网站/网站页面分析
  • 望江县住房和城乡建设局网站/武汉百度快照优化排名
  • 网站建设是属于虚拟产品吗/如何能查到百度搜索排名
  • 企业购 网站建设/友情链接格式
  • 国外展柜网站/金花关键词工具
  • 如何自己创办一个网站/bt磁力狗
  • 做首饰网站/济南seo外包公司
  • 烟台市芝罘区建设局网站/单页网站模板
  • 做设计在哪个网站找图片/seo资讯推推蛙
  • 自己能不能做个网站/免费crm客户管理系统
  • 红色简约的手机社区类网站html5响应式模板下载/google搜索引擎官网
  • 有做销售产品的网站有哪些内容/如何做到精准客户推广
  • 手机制作图片的软件免费/济源新站seo关键词排名推广
  • 给网站做压力测试/百度seo怎么提高排名