为什么类的拷贝构造函数的参数必须是引用呢
为什么不能传值呢???有点不太清楚???
[解决办法]
----------------------
不能,因为拷贝构造函数如果是这样的
T& operator=(T t);
那么我们调用
T t1;
T t = t1;时,拷贝构造函数被调用,
这样就出现了,要把operator=(T t);压栈时会临时生成一个T对象t2,t2靠什么而来?当然,这个对象(t2)也是“拷贝构造”的,那么要靠新的构造了...那么要构造tn又要新的拷贝(同个道理),那么就是个恶性循环了,内存出错
如果使用引用的话,不会有新对象的构造,那么也不会有这种恶性循环了
[解决办法]
传引用不传指针,是为了更自然!
说神了,是为了编译器屏蔽更多细节!
不过iu_81兄举的例子是赋值操作符,
道理的确和拷贝构造函数一样:)