如何做深拷贝
How to make deep copy?
VehicleRegistry::VehicleRegistry(){
vehicles = new Vehicle[4];
numvehicles = 0;
maxsize = 0;
}
VehicleRegistry::VehicleRegistry(const VehicleRegistry& vr){
}
如何对动态数组进行深度复制?
这里有一个可能的解决方案:
VehicleRegistry::VehicleRegistry(const VehicleRegistry& vr){
vehicles = new Vehicle[4];
copy (vr.vehicles, vr.vehicles+4, vechicles);
numvehicles = vr.numvehicles ;
maxsize = vr.maxsize ;
}
不要忘记,如果你有一个深度拷贝,你还需要一个深度赋值操作符。
要了解细节,请查看教程,例如这个。
话虽如此,vector<Vehicles>
可能更容易管理。
相关文章:
- #定义c-预处理器常量..我做错了什么
- 努力将整数转换为链表。不知道我在这里做错了什么
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 我想做一个彼此不同但重复出现的数字
- Python中的for循环与C++有何不同
- 如何在没有数据拷贝的情况下从指针创建一个Eigen VectorXd对象
- 与浅拷贝构造函数和深拷贝构造函数混淆
- 如何将深拷贝构造函数实现到链表中?
- 在函数中传递带有指针成员的结构是浅拷贝或深拷贝在 C 中
- C++ 标准::字符串意外更改。我认为这个问题是关于深和浅拷贝的
- 如何正确制作抽象类的深拷贝?
- 从功能返回时,向量的深拷贝行为
- 使用函子或lambda的矢量深拷贝
- STD向量C++ - 深拷贝或浅拷贝
- ' boost::make_tuple '做拷贝吗?
- c++浅/深拷贝
- 懒惰复制-如何从浅拷贝创建深拷贝
- QVector::replace()创建深拷贝吗?
- multi_array_view没有深拷贝的作业
- 如何做深拷贝