//拷贝函数有两种:深拷贝 浅拷贝
//当出现类的等号赋值时,会调用拷贝函数,在未定义的显示拷贝构造函数的情况下,系统会调用默认的拷贝函数----浅拷贝
//能够完成成员的复制
//当成员数据中没有指针时,浅拷贝是可以的,但当数据成员中有指针时,如果采用简单的浅拷贝,则两类中的两个指针指向同一个地址,
//当对象快结束的时候,会调用两次析构,而导致指针悬挂现象。所以,这时必须采用深拷贝,深拷贝与前拷贝的不同在于
//深拷贝会在堆内存中申请空间来存储数据,从而也就结局了指针悬挂的问题。简而言之,当数据成员中有指针的时候,必须要用
//深拷贝。
//建议:
// 我们在定义类或者是结构体的时候,最后都重写拷贝构造函数,避免浅拷贝;这类不宜发现但后果严重的错误产生。
深拷贝和浅拷贝
最新推荐文章于 2024-11-19 04:30:00 发布