=default: 用于显式要求编译器提供合成版本的四大函数(构造、拷贝、析构、赋值) 
例如:

class A{
public:
A() = default;
A(const A& a) = default;
A& operator=(A&);
~A() = default;
}

我们只能对具有合成版本的成员函数使用=default;

=delete,用于定义删除函数,在旧标准下,我们如果希望阻止拷贝可以通过显式声明拷贝 
构造函数和拷贝赋值函数为private,但新标准下允许我们定义删除函数,例如:

struct NoCopy{
NoCopy() = default;
NoCopy(const NoCopy&) = delete; // 阻止拷贝
NoCopy& operator=(const NoCopy&) = delete; //阻止赋值
~NoCopy() = default;
}

=delete可以告知编译器,不生成默认的这些成员。 
这里有两点要注意: 
1、=delete可以使用在任意的函数上(可以引导函数匹配过程),除了析构函数(析构函数为删除函数将 
导致该类型无法销毁);=default必须用在有默认合成函数的函数上。 
2、=delete必须出现在函数第一次声明的时候。

参考:https://blog.csdn.net/u010640235/article/details/51286445

最新文章

  1. html5高级
  2. Android 利用SurfaceView进行图形绘制
  3. 阅读开发高手的代码 分享二则.NET开发框架的技巧
  4. 【OpenCV】立体匹配算法SSD、NCC、ASW的基础实现
  5. SQL Server调优系列进阶篇 - 深入剖析统计信息
  6. 当 ITOA 遇上 OneAlert,企业可以至少每年节省 3600 小时!
  7. QTP10破解
  8. JavaScript基础教程
  9. php打包文件为ZIP包后下载到本地
  10. 基于Entity Framework的自定义分页,增删改的通用实现
  11. LIMS系统仪器数据采集-使用xpdf解析pdf内容
  12. elasticsearch基本使用
  13. JSon与字符串的转换
  14. CentOS7设置固定IP
  15. js原生实现div渐入渐出
  16. c# DataSet转换为Json
  17. Tree 菜单 递归
  18. linux目录的权限
  19. 本地Navicat连不上Linux虚拟机MySQL数据库问题
  20. php超时时间说明

热门文章

  1. SDL(01-10)
  2. WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂
  3. Qt PNG 背景透明
  4. GIS基础软件及操作(十二)
  5. [机器学习]Bagging and Boosting
  6. Qt 使用 Google Breakpad 捕获程序崩溃报告(dump文件) good
  7. Qt 开发WEB Services客户端代码(使用gSoap)
  8. Color gradient in Delphi FireMonkey
  9. 【Linux】Linux下跟踪记录每个用户对主机服务器进行的操作
  10. Arcgis Server 10.4.1 搭建集群环境