为什么自定义拷贝构造函数时要用引用 拷贝构造函数的自定义形式如下: 类名::类名 (const 类名 & 对象名) { //拷贝构造函数的函数体 } 我们看到拷贝构造函数的参数有且只有一个:就是同类对象的引用 这么做的原因有两个: 因为调用拷贝构造函数的时候是实参向形参传值,如果传进来的不是引用,那么就是值传递,那么就会在函数里又重新创建一个对象,而重新创建又是通过调用拷贝构造函数,所以如果不是引用的话,就会一直调用下去。调用拷贝构造函数时不需要消耗另外的内存空间。 以上是自己的理解,若有不对请多多指正~~