首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >uBLAS矩阵清除内存

uBLAS矩阵清除内存
EN

Stack Overflow用户
提问于 2013-05-19 00:26:22
回答 1查看 897关注 0票数 3

我有一个uBLAS矩阵,如下所示:

代码语言:javascript
复制
boost::numeric::ublas::matrix<double> mat(50000,50000);

一旦我完成了矩阵上的一组计算,我想要释放它的内存。

根据docs的说法,我一直在使用mat.clear(),它“清除矩阵”。但是我的程序总是内存不足。

深入研究标题,我发现了以下内容:

代码语言:javascript
复制
void clear () {
  std::fill (data ().begin (), data ().end (), value_type/*zero*/());
}

因此,clear()存在明显的语义问题。

那么问题是,我如何确保内存被释放?

EN

回答 1

Stack Overflow用户

发布于 2013-09-09 03:57:28

返回内存的一种不优雅的方式是调整矩阵的大小:

代码语言:javascript
复制
mat.resize(0,0,false);  

尽管我自己还没有尝试使用零作为大小值...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16626511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档