我知道以下代码段仅创建对某处存在的对象的新引用:
MyClass obj = new MyClass(); MyClass copy = obj;
但是为什么 Java 在以下情况下不提供默认的复制构造函数:
MyClass obj = new MyClass(); MyClass copy = new MyClass(obj);
我相信隐式复制构造函数可以做一些类似于 C++ 的事情,即在每个成员上调用复制构造函数。这将导致对象的深拷贝,假设所有管理资源的类都正确地实现了它们的拷贝构造函数。
添加这样的功能也应该是向后兼容的,因为现在如果没有该类的显式复制构造函数,第二个片段将无法编译。
所以,为了让我的问题更准确:
是否有任何东西阻止 Java 创建隐式复制构造函数,它会在所有成员上调用复制构造函数?
现在添加隐式复制构造函数可能会破坏任何现有程序吗?
有只小跳蛙
HUH函数
相关分类