看书时,说“如果方法或函数返回一个没有公有复制构造函数的类的对象,它必须返回一个指向这种对象的引用。”为什么?那些类没有公有的复制构造函数?
有些类需要自己定义复制构造函数,有些类提供合成复制构造函数,有些类因为需要,不允许或者不期望有复制行为。如果有第三种情况,那么当定义一个成员函数时,返回类型就不能是该类对象,因为函数在这种情况下返回的副本。而只能返回引用,因为返回引用是直接返回对象本身,没有复制行为。同样的道理,在参数中这样的类对象也只能按引用调用。