老规矩:记录细节,等待空余,再进行整理。

1:const,static,const static成员初始化。

  1、const成员:只能在构造函数后的初始化列表中初始化

  2、static成员:初始化在类外,且不加static修饰。

  3、const static成员:类只有唯一一份拷贝,且数值不能改变。因此,可以在类中声明处初始化,也可以像static在类外初始化。

2:拷贝赋值函数  和 拷贝构造函数。

  1,拷贝赋值函数.

    1)返回值是 左侧类型的引用。

  2,拷贝构造函数。

    1,通常的主体功能应该为:复制所有非static的类成员。

    2,系统会默认构造。但尽量自行完成(除非类复制很简单)。

    3,参数必须为引用。否则会导致递归调用,最终崩溃。

  3,拷贝赋值函数  和 拷贝构造函数 是相互需要的。即:如果需要定义拷贝赋值函数就必须定义拷贝构造函数。反之亦然。

3:explicit关键字。

  1,标识此关键字的构造函数,必须显示使用。无法隐式调用。

4:析构函数。

  1,析构函数函数体内并不进行类成员的销毁。而是当析构函数体完成后,再销毁成员。

  2,对于指针,销毁功能仅销毁指针本身,并不销毁指针指向的对象。所以,需要在析构函数中对指针进行delete/free

  3,在原则上,一个类拥有析构函数,那就应该也拥有自己的拷贝构造函数和拷贝赋值函数。

5:移动函数。

  1,分为移动函数 和 移动赋值函数。

  2,移动函数(包括赋值)特点:“偷窃”源对象的数据。会导致源对象进入一种不可预测的情况。

  3,移动函数的使用会提升运行效率。但需要注意,如果“偷窃”数据后的对象,依然会被其他线程和函数引用,会导致不可预测的错误。

转载于:https://www.cnblogs.com/zheng39562/p/4308482.html

C++细节系列(零):零散记录相关推荐

  1. 算法细节系列(3):梯度下降法,牛顿法,拟牛顿法

    算法细节系列(3):梯度下降法,牛顿法,拟牛顿法 迭代算法原型 话不多说,直接进入主题.在我看来,不管是梯度下降法还是牛顿法,它们都可以归结为一个式子,即 x=ϕ(x) x = \phi(x) 也就是 ...

  2. 算法细节系列(20):Word Ladder系列

    算法细节系列(20):Word Ladder系列 详细代码可以fork下Github上leetcode项目,不定期更新. 题目摘自leetcode: 1. Leetcode 127: Word Lad ...

  3. 算法细节系列(16):深度优先搜索

    算法细节系列(16):深度优先搜索 详细代码可以fork下Github上leetcode项目,不定期更新. 题目均摘自leetcode: 1. 329 Longest Increasing Path ...

  4. Android Performance Patterns 系列视频学习记录(持续更新中)

    系列文章旨在记录YouTube上谷歌发布的Android Performance Patterns系列视频,一共79个视频,每个视频也就几分钟.当然对于大部分安卓开发者来说,这些都是基础,可能你会说, ...

  5. asp.NET自定义服务器控件内部细节系列教程四

    如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...

  6. asp.NET自定义服务器控件内部细节系列教程五

    如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...

  7. asp.NET自定义服务器控件内部细节系列教程一

    如大家要转载,请保留本人的版权: /* *Description:asp.NET自定义服务器控件内部细节系列教程 *Auther:崇崇-天真的好蓝 *MSN:chongchong2008@msn.co ...

  8. 【C/C++基础进阶系列】实战记录 -- Dump 文件生成与分析

    [C/C++基础进阶系列]实战记录 -- Dump 文件生成与分析 [1]Windows 端 Dump 文件的捕获与分析 [1.1]添加 Windows 端 Dump 捕获的代码 代码下载,windo ...

  9. 能率S2系列零冷水燃气热水器,让沐浴再无痛点

    打开花洒等个三五分钟才能洗上热水澡:想用热水洗去锅碗上的油污,燃气热水器出热水太慢还不如烧水方便.为了解决上述燃气热水器的用户痛点,零冷水技术应运而生.简而言之,其原理是:通过循环预热功能将管路中的冷 ...

  10. Nvidia Deepstream小细节系列:Deepstream python保存pipeline结构图

    Nvidia Deepstream小细节系列:Deepstream python保存pipeline结构图 提示:此章节我们将着重阐述如何在Deepstream Python运行的情况下保存pipel ...

最新文章

  1. Tomcat单机多实例
  2. Android短信拦截
  3. python编程格式化输出_Python的三种格式化输出
  4. 2021奥运经济蓝皮书
  5. 北师大c语言2019在线作业,华东石油《C语言》2019年春季学期在线作业(二)辅导答案...
  6. NBU调用crontab备份
  7. 安装Bootstrap3源码版本
  8. 4.19计算机网络笔记
  9. Java判断Class变量是什么类型
  10. 李践《高效人士的五项管理-行动日志》 表格
  11. 匹配滤波器的仿真——原理说明与仿真
  12. springboot 整合阿里云oss
  13. mhl数据线_mhl接口是什么?mhl接口有哪些作用
  14. UE4场景流程规范-纹理压缩(美术版/程序版/太长不看版)
  15. springMvc中的校验框架@valid和@validated
  16. 快速删除node_modules(rimraf)
  17. 证券股票交易接口需要满足什么要求才能在实盘中用?
  18. word论文格式管理和孤行控制
  19. 钉钉e应用点击按钮触发两次点击事件的解决办法
  20. 计算机网络笔记02---网络边缘和网络核心

热门文章

  1. linux进程之间传递句柄
  2. 验证码的设计,随机数的生成
  3. matlab imfinfo返回图像信息
  4. PgSql备份pg_dump与还原手记pg_restore(转)
  5. AUTOSAR从入门到精通100讲(四十八)-Lin通信协议栈分析两步走-LinTrcvLIN Driver
  6. AUTOSAR从入门到精通100讲(四十九)-AUTOSAR 通信服务Dcm篇-Dcm概念及DSL详解与实战案例
  7. 高内聚,低耦合——8大核心中间件,微服务基础技术栈技术图谱
  8. html type=text/css,type=text/css 有什么用啊 ?
  9. linux 查看系统组账号密码是什么,Linux 用户与组管理详解(system-config-users 命令行)...
  10. React 父组件(hooks)调用子组件(calss)方法