我有一个 A 类,它的对象是动态创建的:
A *object;
object = new A;
一次执行中会有很多A的对象。 我在 A 中创建了一个方法来根据传递的 ID 返回特定对象的地址。
A *A::get_obj(int id)
get_obj 的实现需要迭代,所以我选择了 vector 来存储对象的地址。
vector<A *> myvector
我认为另一种方法是创建一个文件并将地址作为文本存储在特定行上(这将是 id)。 这将帮助我减少内存使用,因为那时我不会创建 vector 。 我不知道这种方法会比 vector 方法消耗更多时间吗? 欢迎任何其他选择做同样的事情。
最佳答案
不要在文件中存储指针。曾经。无论如何,对象 A 比指向它们的指针占用更多的空间。如果您一次需要的 A 数量超出您的承受能力,那么您需要根据需要创建它们并将实例数据序列化到磁盘(如果您需要稍后在删除之前取回它们,而不是地址)。
关于c++ - 存储指向类对象的指针地址的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899707/