我制作了这个构造函数,我需要对其进行深层复制。我不太明白深拷贝的含义。我知道它会创建一个拥有自己的动态内存的对象的独立副本,但我不明白这样做的需要是什么。我也不确定如何实际实现深层复制。有什么建议么?
这是我需要进行深层复制的构造函数:
任何人都可以提供一些语法帮助,例如骨架吗?
template<class t_type>
inline ALIST<t_type>::ALIST()
{
t_type value;
capacity=10;
DB = new t_type[capacity];
count=capacity;
cout<<"Enter value: ";
cin.clear();
cin>>value;
for(int i=0; i<capacity; i++)
{
DB[i]=value;
}
}
什么是复制和交换习语? https://stackoverflow.com/questions/3279543/what-is-the-copy-and-swap-idiom
使用深层副本,以便您可以复制对象拥有的所有信息,然后在不更改原始信息的情况下更改副本。一般来说,浅拷贝只会复制指针本身,但仍然指向相同的信息。如果您不小心,这可能会导致数据发生意外变化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)