【发布时间】:2020-12-06 10:42:25
【问题描述】:
我试图将类对象存储在一个文件中,但由于该类包含一个指针向量,这会导致问题,因为下次我访问该类时,我能够获取除此向量之外的所有内容。
typedef vector<pair<int, MBR *>> vppint;
class Node{
private:
int id;
int parentID;
int total_children;
MBR *mbr;
vppint children;
public:
vppint fetchChildren(){
return return this->children;
}
int totalChildren(){
return this->total_children;
}
};
MBR 是一些类。
在将这个 Node 类存储在文件中然后读取它之后。 fetchChildren 函数抛出分段错误,原因很明显。有什么方法可以存储对象而不仅仅是指针。
【问题讨论】:
-
我错过了什么或者为什么类定义了两次?
-
问题是,你有充分的理由使用指针吗?
-
不,我不想在这里使用指针。我只知道这种存储值的方式,所以我使用了它。如果可能,我想存储整个类对象。
-
那就不要使用了,直接丢掉指针,对象会被保存。
-
您使用什么代码将其保存到文件中?你需要一个序列化库。
标签: c++ database c++11 pointers segmentation-fault