NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
## 条款05:了解 C++ 默默编写并调用哪些函数 Know what functions C++ silently writes and calls. 编译器会为类默认声明 default 构造函数、copy 构造函数、copy assignment 操作符和析构函数,并且这些函数都是 public 和 inline,但只有这些函数被调用时,编译器才会创建它们。 * default 构造函数和析构函数主要是给编译器一个地方用来放置“藏身幕后”的代码,像调用 base classes 和 non-static 成员变量的构造函数和析构函数。需要注意的是编译器产出的析构函数是个 non-virtual。 * copy 构造函数和 copy assignment 操作符,编译器创建的版本只是单纯地将来源对象的每一个 non-static 成员变量拷贝到目标对象。 如果声明过这些函数,编译器就不会再为它创建 default 版本。