C++11--编译器生成的函数
2024-10-12 07:05:14
using namespace std;
class Dog {};
/* C++ 03
* 1 默认构造函数(只有当用户没有声明任何构造函数)
* 2 拷贝构造(只有当用户没有声明5,6),扩展到C++11之后(只有当用户没有声明3,4,5,6)
* 3 拷贝赋值(只有当用户没有声明5,6),扩展到C++11之后(只有当用户没有声明2,4,5,6)
* 4 析构函数
* C++ 11
* 5 移动构造(只有当用户没有声明2,3,4,6)
* 6 移动赋值(只有当用户没有声明2,3,4,5)
// 看一些例子
class Cat { //编译器产生3,4 (C++11中,3弃用)
Cat(const Cat& ) {} //拷贝构造
};
class Duck { //编译器产生4
Duck(Duck&&) {} //移动构造
};
class Frog { //编译器产生4
Frog(Frog&&, int = 0) {} //移动构造
Frog(int = 0) {} //默认构造
Frog(const Frog&, int = 0) {} //拷贝构造
};
class Fish { //编译器产生1,2,3(C++11中,2,3弃用)
~Fish()
};
class Cow { //编译器产生1,2,4(C++11中,2弃用,如果要用需要显式地叫回)
Cow& operator=(const Cow&) {} = delete; //拷贝赋值禁用,虽然禁用仍然认为是用户声明了
Cow(const Cow&) {} = default; //显式地叫回编译器定义的拷贝构造
};
最新文章
- 记:MySQL 5.7.3.0 安装 全程截图
- 关于试用jquery的jsonp实现ajax跨域请求数据的问题
- 页面引入flash
- 一个被称为世界上最短的判断IE方法
- 关于z-index
- hadoop运维经验
- C语言 动态库简单开发
- Spring第12篇—— Spring对Hibernate的SessionFactory的集成功能
- 在Eclipse下debug 出现Source not found for ...
- asp.net 真正实现完全跨域单点登录
- 同时显示多个 Notification
- LeetCode 53. Maximum Subarray(最大的子数组)
- Logger之简单入门
- 从0开始的Python学习018更多的Python内容
- Taro文件上传:Blob Url下载Blob对象本身并通过接口上传到服务器
- [译]Ocelot - Getting Started
- C#使用FFMPEG推流,并且获取流保存在本地,随时取媒体进行播放!
- python DRF获取参数介绍
- Android手动控制软键盘的开启和关闭,判断软键盘是否显示;
- 使用 IntraWeb (16) - 基本控件之 TIWList、TIWListbox、TIWComboBox、TIWOrderedListbox
热门文章
- 九度OJ-1001-A+B矩阵-有些小技巧
- [LeetCode&;Python] Problem 485. Max Consecutive Ones
- Sublime 官方安装方法
- 数据结构HUFFman求权值
- ccf 201312-04 有趣的数(组合数学)
- php-fpm的pool池子、php慢日志记录、open_basedir、php-fpm进程管理
- 《DSP using MATLAB》Problem 6.11
- 被卡住的2个问题:1.输入url不执行后台的java方法 2.改了jsp页面,再次请求还是以前的那个页面
- 每天进步一点点-序列化和反序列(将对象写入硬盘文件and从硬盘文件读出对象)
- 剑指offer-反向遍历链表-栈和递归2种方法(一次性跑通)