c++ - Boost.PropertyTree 不会在析构函数中释放内存
问题描述
我测试以下代码
#include <boost/property_tree/xml_parser.hpp>
namespace pt = boost::property_tree;
int main()
{
{ //1
pt::ptree xml;
pt::read_xml("very_big_xml.xml", xml);
// xml.clear(); //destructor should do the job
}
{ //2
pt::ptree xml;
pt::read_xml("very_big_xml.xml", xml);
}
}
在第一部分之后,我的应用程序占用了大量内存(~6GB),并且由于内存不足而在第二部分崩溃。我应该手动释放属性树吗?文档说析构函数应该清理。
注意:取消注释xml.clear();
没有帮助。
解决方案
推荐阅读
- azure - Azure 服务总线“活动连接”、“打开的连接”和“关闭的连接”
- windows - 在 AKS Windows 节点中自动安装 .msi
- c++ - 课内申报还是课外申报?
- python - 如何借助索引在数据框中使用 .loc 函数打印特定用户的数据
- azure - 是否可以在我的发布管道中使用 Azure 经典服务连接来部署应用服务?
- r - bookdown 编码设置为 LATIN1 而不是 UTF-8
- python - 如何用 sympy 求解一个复杂的方程?
- javascript - 我的 react.js 应用程序出现创建错误
- c# - 保存分数,然后在高分中使用它
- r - 如何计算两个字符串中任意位置的最长公共子字符串