递增运算符重载
总结:前置++:返回引用,可实现链式编程,为什么不返回值?还是拷贝构造函数的问题,这里就不赘述了;后置++为了实现先计算表达式后++的运算规则,故设了一个局部变量为了保存++前的值来实现先计算表达式后++,返回该局部变量的就出现了问题,不能像前置++那样直接返回引用,因为这是局部变量,在程序结束后会释放掉,若直接返回局部变量的引用会造成非法操作;因此只能返回值,这样的话就会返回值的时候就会调用拷贝构造函数创建一个新的对象来返回,所以,后置++无法实现链式编程。
递增运算符重载
总结:前置++:返回引用,可实现链式编程,为什么不返回值?还是拷贝构造函数的问题,这里就不赘述了;后置++为了实现先计算表达式后++的运算规则,故设了一个局部变量为了保存++前的值来实现先计算表达式后++,返回该局部变量的就出现了问题,不能像前置++那样直接返回引用,因为这是局部变量,在程序结束后会释放掉,若直接返回局部变量的引用会造成非法操作;因此只能返回值,这样的话就会返回值的时候就会调用拷贝构造函数创建一个新的对象来返回,所以,后置++无法实现链式编程。