1、拷贝赋值与移动赋值函数(operator=)
  • 注意赋值函数不能使用初始化列表,这里要搞清楚2个概念,初始化和赋值
int main
{//初始化
int a = 3;
//赋值
a = 5;}
  • 通常来说返回当前类型的引用
    为什么?为了方便连续赋值
int x = y = z = 1;

定义一个类

class Str{Str() = default;
//默认的拷贝构造函数
Str(const Str&) = default;
//默认的移动构造函数
Str(Str&& ) = default;//拷贝赋值函数
Str& operator=(const Str& x){}
//移动赋值函数,注意没有const
Str& operator=(Str&& x){}}int main()
{Str a;//调用拷贝构造Str b = a;Str c;//调用拷贝赋值c = a;//调用移动构造Str d = std::move(a);//调用移动赋值函数Str e;e = std::move(a);}
  • 在一些情况下编译器会自动合成,见面会有个表格展示什么时候会自动合成。
2、析构函数

其实主要没有什么太多的重点,就是变量使用完,是否还有一些人为的主动性的工作。注意内存回收是在调用完析构函数之后才进行的。

  • 用于释放资源
  • 析构函数通常不能抛出异常
  • 除非显示申明,否则编译器会自动合成一个,其内部逻辑为平凡的。

C++拷贝赋值与移动赋值函数相关推荐

  1. C语言试题四十七之程序定义了N×M的二维数组,并在主函数中自动赋值。请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m。

    1. 题目 程序定义了N×M的二维数组,并在主函数中自动赋值.请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m. 2 .温馨提示 C ...

  2. python的数组批量赋值_python数组赋值

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在学习python过程中数组是个逃不过去的一个关,既然逃不过去咱就勇敢面对它,学 ...

  3. 深拷贝、浅拷贝和深赋值、浅赋值

    一.深拷贝与浅拷贝 由系统提供的默认拷贝构造函数的实现是浅拷贝,浅拷贝是简单地对成员变量逐个进行拷贝赋值,一般不需要用 户自定义浅拷贝构造函数,系统会提供默认的浅拷贝构造函数.但是有时系统提供的浅拷贝 ...

  4. python类对象赋值_Python对象赋值、浅拷贝、深拷贝

    Python中,基本数据类型,理解为常见数据类型:布尔型.整型.浮点型.字符串.列表.元组.字典.集合,随语言不同而不同,但是根据在内存中存储方式的不同,区分开原子类型和容器类型. 对象赋值 对象的赋 ...

  5. php如何动态为input赋值,input动态赋值后怎么触发change事件

    input经常用的事件有oninput与onchange oninput:事件在用户输入时触发. onchange:事件在内容改变(两次内容有可能还是相等的)且失去焦点时触发 但是当我们给元素赋值时并 ...

  6. c语言指针赋值指针变量赋值吗,C语言_指针变量的赋值与运算,很详细

    指针变量的赋值 指针变量同普通变量一样,使用之前不仅要定义说明, 而且必须赋予具体的值.未经赋值的指针变量不能使用, 否则将造成系统混乱,甚至死机.指针变量的赋值只能赋予地址, 决不能赋予任何其它数据 ...

  7. stata行业变量怎么赋值_PEP572:赋值表达式(海象符)

    阅读 PEP 是理解 Python 特性的绝好方式.Python 3.8 引入了赋值表达式,它是什么?怎么用?有什么限制?话不多说,直接看 PEP. 一.简介 本提案建议在 Python 中增加 := ...

  8. PHP 拷贝图像 imagecopy 与 imagecopyresized 函数

    PHP 拷贝图像 imagecopy 与 imagecopyresized 函数imagecopy() 函数用于拷贝图像或图像的一部分. imagecopyresized() 函数用于拷贝部分图像并调 ...

  9. python支持链式赋值和多重赋值_Python: 链式赋值的坑

    在我们使用Python的过程中, 经常遇到赋值语句, 就像下面的那样: a = 3 b = 3 可能你会觉得我又要说什么变量赋值就是引用, 这么简单的知识就不讨论啦, 相信聪明的大家肯定都知道的, 我 ...

最新文章

  1. 平安科技:传入一个只包含1-9的数字字符串,输出的是包含所有数字的最小整数
  2. 查询局域网内在线电脑IP
  3. python中的try与if,python中if和try的区别是什么
  4. MSSQL游标的原理及示例
  5. 因更改注册表而导致无法打开QQ文件所在文件夹
  6. python相关性分析特征过滤_Python相关性分析
  7. c++ 的 stl模板库_C ++中的标准模板库(STL)
  8. python难度大的题_【python】Python面试题:求列表当中最大的三个元素
  9. 论文笔记_S2D.46_2013-3DV_基于点融合的动态场景实时三维重建
  10. Spark DataFrames DataSet
  11. SAI2.0绘画软件中文版(已测可用)
  12. Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
  13. 三端线性稳压器工作原理与典型应用电路分析——78XX与LM317
  14. 读书文摘卡 -《大秦帝国》
  15. innosetup 通过操作注册表来添加默认文件关联
  16. 读书笔记2014第6本:《The Hunger Games》
  17. SLF4J 简单日志门面 介绍和使用
  18. 如何把视频嵌入PPT合为一个文件
  19. 基于android的电子书阅读器app
  20. The Tomcat connector configured to listen on port 8090 failed to start.

热门文章

  1. 公众号滑动图代码_公众号怎么制作图片滑动的效果?怎么做可以上下滑动的长图?...
  2. LINUX QT移植到ARM (zynq平台 qt5.4.1)
  3. php实现阿里云视频合成
  4. 阿里云oss文件服务器
  5. 个性化广告推荐系统及应用
  6. 微信公众号JS屏蔽分享,复制链接等
  7. 加拿大数字知名媒体Digital Journal全面报道Filenet项目
  8. 怎么修复松下相机死机断电MDT文件为MOV或MP4视频
  9. 教你几种方法最大限度减轻酒精对你身体的伤害
  10. APS审核经验+审核资料汇总——计算机科学与技术专业上海德语审核