摘要:
一、定义为成员函数的运算符 1. 赋值、调用、下标、成员访问箭头运算符(=、()、[]、->) 2. 改变对象状态的运算符或者与给定类型密切相关的运算符(递增++、递减--、解引用*) 3. 复合赋值运算符(注:它也可以定义为非成员函数) 二、定义为非成员函数的运算符 1. 具有对称性的,即能转换任 阅读全文
摘要:
一、使用“=default” 1. 显式生成拷贝控制成员的合成版本 2. 只能对具有合成版本的成员函数使用“=default” 默认构造函数 拷贝控制成员(拷贝构造函数、拷贝赋值运算符、析构函数、移动构造函数、移动赋值运算符) 3. 使用“=default”生成的合成函数分为内联的和非内联的 二、使 阅读全文
摘要:
一、拷贝构造函数 1. 形式 2. 合成拷贝构造函数 编译器总会为我们合成一个拷贝构造函数,即使我们定义了其他构造函数。 3. 拷贝构造函数不应该是explicit的 拷贝构造函数在必要时可以被隐式地使用。 4. 拷贝初始化 ①用=定义对象 ②传递参数(形参为非引用类型) ③函数返回一个非引用类型的 阅读全文