1.两个拷贝之间区别主要是用于对象数据之间的拷贝!
2.区别
没指针:
深拷贝和浅拷贝没什么区别;
有指针:
浅拷贝:即对象的默认拷贝函数,只是将指针的地址拷贝给对象,两个变量同时指向一个地址,这样在析构的时候必然会导致程序崩溃;
class A
{
public:
A()
{
m_Data = new char[100];
}
~A()
{
delete []m_Data;
m_Data = NULL;
}
protected:
private:
char* m_Data;
};
int _tmain(int argc, _TCHAR* argv[])
{
A a;
A b(a);
return 0;
深拷贝:即要自定义拷贝函数,将指针new一段新内存保存起来;这样析构也不会崩溃;