如果类中没有指针,浅拷贝完全能解决所有拷贝问题,但是如果类中存在指针,那么浅拷贝就出现了大问题:
类中的指针会指向同一块内存空间,在对象生命周期结束的时候,析构函数会释放该内存空间,由于两个指针都指向这一个空间,就会导致这块内存空间被释放两次。
如:
#include <iostream>
#include <string.h>
using namespace std;
class Person
{
private:
char*m_name;
int m_age;
public:
Person()
{
m_name = NULL;
m_age=0;
cout << "无参构造" <<endl;
}
Person