我有一个struct
看起来像这样的:
struct queue_item_t {
int id;
int size;
std::string content;
};
我有一个std::vector< queue_item_t >
从数据库查询中填充了许多这些的内容。
处理每个项目时,会从磁盘读取文件并将其内容放入content
字符串成员中。该项目被处理(content
被解析),我.clear()
在字符串上执行,以免耗尽我所有的内存。
但是,这似乎并没有释放内存。我正在处理数十万个项目,最终,内存使用量将超出可用范围,并且应用程序被 Linux 杀死,原因是“内存不足”。
如何释放这些字符串使用的内存?