c++ - 存储指向类对象的指针地址的最佳方法

标签 c++ file-io vector

我有一个 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/

相关文章:

java - 如何在 Java 中将两个单独的文件复制到两个单独的位置?

unity-game-engine - 绕全局 Y 轴旋转对象,忽略其局部旋转

c++ - 链接时不包含宏定义

C++ 无法通过在 OpenCV 中使用 SimpleBlobDetection 检测乐谱上的椭圆

file-io - 将数据文件的一部分写入(并重新排列)到另一个文件

javascript - 如何将 .txt 中的数据加载到 JavaScript 中

c++ - 如何在单个 vector 中存储不同的类?

vector - 如何创建 HashMap 的向量并从 main 返回?

c++ - 如何指定使用 NVIDIA CUDA nvcc 4.1 而不是 4.0?

c++ - 类有一个 selftype 的对象