Advertisement

C++ Rule-of-Three

阅读量:

Rule-of-Three规则解析

  • Three 的本质是什么?
      • 为何需要为 Three 设定规则?
      • 规则
    • 启发

Three 為何物?

所谓 Three 实际上指的是 copy constructor (拷贝构造函数)copy assignment operator (拷贝赋值操作符) 以及 destructor (析构函数) 。在阐述 Rule-of-Three 的相关内容之前,有必要先回顾一下 C++ 类的声明与定义方式。

复制代码
    class Empty 
    {
    private:
    	int _val { 0 };
    }; 
    
    
      
      
      
      
      
    

class Empty 的结构非常简洁,我并未为其添加任何数据成员,也未明确声明或定义成员函数。然而实际上,当遇到特定需求时,编译器会自动为 class Empty 生成所需的成员函数。那么这句话的具体含义是什么呢?我们可以通过一个示例来进一步说明。

复制代码
    int main()
    {
    Empty e1 {}; // 创建一个Empty对象
    	Empty e2 { e1 }; // 通过

全部评论 (0)

还没有任何评论哟~