我有一个 uBLAS 矩阵,如下所示:
boost::numeric::ublas::matrix<double> mat(50000,50000);
一旦我完成了对矩阵的一组计算,我希望释放它的内存。
mat.clear()
根据文档,我一直在使用“清除矩阵”。但是我的程序总是内存不足。
深入研究标题,我发现:
void clear () {
std::fill (data ().begin (), data ().end (), value_type/*zero*/());
}
所以 . 有一个明显的语义问题clear()
。
那么问题是,我如何确保内存被释放?