Coo*_*der 0 c++ file-io vector
我有一个A类,它的对象是动态创建的:
A *object;
object = new A;
Run Code Online (Sandbox Code Playgroud)
在执行中会有许多A对象.我在A中创建了一个方法,根据传递的id返回特定对象的地址.
A *A::get_obj(int id)
Run Code Online (Sandbox Code Playgroud)
get_obj的实现需要itteration,所以我选择了向量来存储对象的地址.
vector<A *> myvector
Run Code Online (Sandbox Code Playgroud)
我认为另一种方法是创建一个文件并将地址存储为特定行上的文本(这将是id).这将帮助我减少内存使用量,因为我不会创建一个向量.我不知道的是,这种方法会比矢量方法消耗更多的时间吗?任何其他做同样的选择都是受欢迎的.
小智 5
不要将指针存储在文件中.永远.无论如何,对象A占用的空间比指向它们的指针多.如果您需要的A值比您一次可以容纳的多,那么您需要根据需要创建它们并将实例数据序列化到磁盘,如果您需要在删除之前将其恢复,而不是地址.