C++ 返回对象的引用
——返回引用而不是返回对象,这将避免使用复制构造函数,从而提高效率
返回对象的引用:
- 引用指向的对象应该在调用函数执行时存在,或位于堆(new)中
返回const引用:
- 若形参是const引用,且返回传入的对象的引用,那么只能返回对象的const引用
返回非const的引用:
- 两种常见情形:重载赋值运算符、重载与ostream对象一起使用的<<
- 重载赋值运算符:提高效率,并提供了直接操作目标对象的机会
- 重载<<:ostream对象没有公有的复制构造函数,因此只能返回对象的引用ostream &