求个异常代码
求个错误代码
求个代码。可以反驳
“类中没定义复制构造,编译器会为你生成一个复制构造函数”这句话
因为我知道,编译器生成的复制构造函数,不是给你用的,而是给编译器用的
求个错误代码
------解决方案--------------------
你也可以主动调用。编译器给你默认生成的复制构造只是简单的把值复制过去。不存在深复制这种东西,要是对于复制构造有特殊要求还是得自己写,不然单纯复制值还不如不写。
------解决方案--------------------
对于我来说,这只是个实现的问题,只要没有深拷贝,你想怎么样随你。
------解决方案--------------------
"因为我知道,编译器生成的复制构造函数,不是给你用的,而是给编译器用的"
编译器是不要用复制构造函数,是你自己编写的程序中的类需要复制构造函数,因为你的程序中没有为类定义复制构造函数,所以编译程序在编译你的源程序时,就为你的类生成一个复制构造函数,只是这个复制构造函数只能完成类对象的“浅复制”->对应成员复制。因此,当程序中的类的构造函数中有new操作时,这个浅复制”的复制构造函数就显得无能为力了,这时,你就必须自定义完成“深复制”的复制构造函数。
求个代码。可以反驳
“类中没定义复制构造,编译器会为你生成一个复制构造函数”这句话
因为我知道,编译器生成的复制构造函数,不是给你用的,而是给编译器用的
求个错误代码
------解决方案--------------------
你也可以主动调用。编译器给你默认生成的复制构造只是简单的把值复制过去。不存在深复制这种东西,要是对于复制构造有特殊要求还是得自己写,不然单纯复制值还不如不写。
------解决方案--------------------
对于我来说,这只是个实现的问题,只要没有深拷贝,你想怎么样随你。
------解决方案--------------------
"因为我知道,编译器生成的复制构造函数,不是给你用的,而是给编译器用的"
编译器是不要用复制构造函数,是你自己编写的程序中的类需要复制构造函数,因为你的程序中没有为类定义复制构造函数,所以编译程序在编译你的源程序时,就为你的类生成一个复制构造函数,只是这个复制构造函数只能完成类对象的“浅复制”->对应成员复制。因此,当程序中的类的构造函数中有new操作时,这个浅复制”的复制构造函数就显得无能为力了,这时,你就必须自定义完成“深复制”的复制构造函数。