关于拷贝构造函数的3个问题

简介: 关于拷贝构造函数的3个问题

问题1:拷贝构造函数与赋值运算的区别?

拷贝构造完成的是 初始化 的工作,即只能进行一次。赋值运算可以进行多次。

拷贝构造是创造一个自定义类型的对象,赋值运算是对已经存在的对象进行赋值。

问题2:拷贝构造函数的形参为什么是引用?

拷贝构造函数存在于哪里?存在于类中。是类中六大默认成员函数之一。

以Date类为例,其拷贝构造函数写作

现在我们假设,形参是 const Date d。形参的类型是自定义类型Date。与内置类型不同的是,内置类型的初始化拷贝可以按字节赋值拷贝,而自定义类型初始化拷贝的规则我们是不知道的,因此需要调用它的拷贝构造函数。由于自定义类型对象的赋值拷贝(指初始化的时候)要调用其拷贝构造函数,所以拷贝构造函数的形参应该用引用。

问题3:类中生成的 默认 拷贝构造函数是怎样的

按字节序的浅拷贝。

相关文章
|
Linux 网络安全
Linux 服务器的21/22端口被禁止,如何解决?
22端口作为远程登录服务器的知名端口,如果22端口暴露在互联网必然会引起攻击。
1288 0
ERROR: No matching distribution found for gradio>=3.23
该博客文章提供了解决使用pip安装gradio版本3.23时出现的"No matching distribution found"错误的步骤,包括从官网下载相应的whl文件并手动安装。
ERROR: No matching distribution found for gradio>=3.23
|
Docker 容器
docker设置国内镜像源
docker设置国内镜像源
34615 5
|
关系型数据库 MySQL 应用服务中间件
配置docker阿里云镜像地址
配置docker阿里云镜像地址
|
缓存 Linux 虚拟化
Linux下top命令指标说明
Linux下top命令指标说明
656 0
|
图形学
【unity知识点】Unity 协程/携程Coroutine
【unity知识点】Unity 协程/携程Coroutine
997 0
|
Ubuntu Cloud Native Unix
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker 避坑
在Ubuntu 18.04.6 WSL中学习Docker时遇到了“Cannot connect to the Docker daemon”错误。通过安装`service`并使用`sudo service docker start`启动Docker,随后能够成功运行`docker ps`和其他命令。参考[Docker官网](https://docs.docker.com/engine/install/ubuntu/?spm=a2c6h.13046898.publish-article.9.5aba6ffac0VIkp)进行安装是通用解决方案。未来若出现新问题,会继续更新。
|
安全 API
什么是跨域?
什么是跨域?
149 0
|
开发工具 git
Git 使用小乌龟(TortoiseGit)拉取Github项目时报错【server sent :publickey】
Git 使用小乌龟(TortoiseGit)拉取Github项目时报错【server sent :publickey】
1228 0