class A
{ int* p; public: A(){ p=new int[5];} A(const& a):p(a.p){} //////浅拷贝 应该尽量避免 A(const& a){ p=new int[5]; for(int i=0;i <5;++i) { p[i]=a.p[i];} } //////深拷贝 浅拷贝速度快,但是不安全,深拷贝安全,但速度慢,折中的方法是引用计数和写时复制。 |
class A
{ int* p; public: A(){ p=new int[5];} A(const& a):p(a.p){} //////浅拷贝 应该尽量避免 A(const& a){ p=new int[5]; for(int i=0;i <5;++i) { p[i]=a.p[i];} } //////深拷贝 浅拷贝速度快,但是不安全,深拷贝安全,但速度慢,折中的方法是引用计数和写时复制。 |
class A
{ int* p; public: A(){ p=new int[5];} A(const& a):p(a.p){} //////浅拷贝 应该尽量避免 A(const& a){ p=new int[5]; for(int i=0;i <5;++i) { p[i]=a.p[i];} } //////深拷贝 浅拷贝速度快,但是不安全,深拷贝安全,但速度慢,折中的方法是引用计数和写时复制。 |
class A
{ int* p; public: A(){ p=new int[5];} A(const& a):p(a.p){} //////浅拷贝 应该尽量避免 A(const& a){ p=new int[5]; for(int i=0;i <5;++i) { p[i]=a.p[i];} } //////深拷贝 浅拷贝速度快,但是不安全,深拷贝安全,但速度慢,折中的方法是引用计数和写时复制。
|
class A
{
int* p;
public:
A(){ p=new int[5];}
A(const& a):p(a.p){} //////浅拷贝 应该尽量避免
A(const& a){ p=new int[5];
for(int i=0;i <5;++i)
{ p[i]=a.p[i];}
} //////深拷贝
浅拷贝速度快,但是不安全,深拷贝安全,但速度慢,折中的方法是引用计数和写时复制。