标签:
1.两个拷贝之间主要是用于对象之间的拷贝!
2.区别
没指针:
深拷贝和浅拷贝没什么区别;
有指针:
浅拷贝:即对象的默认拷贝函数,只是将指针的地址拷贝给对象,两个变量同时指向一个地址,这样在析构的时候必然会导致程序崩溃;
1 class A 2 { 3 public: 4 A() 5 { 6 m_Data = new char[100]; 7 } 8 ~A() 9 { 10 delete []m_Data; 11 m_Data = NULL; 12 } 13 14 protected: 15 private: 16 char* m_Data; 17 }; 18 19 int _tmain(int argc, _TCHAR* argv[]) 20 { 21 A a; 22 A b(a); 23 24 return 0; 25
深拷贝:即要自定义拷贝函数,将指针new一段新内存保存起来;这样析构也不会崩溃;
标签:
原文地址:http://www.cnblogs.com/viscount/p/5675092.html