我想在运行时找出我的c ++程序当前使用了多少(堆)内存。我可以通过重载新的/删除操作符来实现这一点吗?是否有提供此功能的库?
我知道像valgrind这样的工具可以给我很多关于我的内存使用情况的信息,但是这些信息在运行时不可用,因此不能被程序使用。
背景
我正在写一个科学计划。即,我可以假设程序可以基本上使用运行它的机器上可用的所有内存(或预定义的固定数量)。我必须处理大量可能或可能不适合可用内存的数据。在存储器不足的情况下,程序可以采取对策(例如,将数据存储到磁盘或重新计算数据而不是存储它们)。为此,我需要跟踪已使用的内存量。