好的,所以我很想知道一个 int 是否真的在我的 ram 上重 4 个字节。
所以我用这段代码做了 1,000,000 个整数。
for(int i = 0;i < 1000000;++i)
int *as= new int;
在我执行这行代码之前,我在前面放置了一个断点,以查看我开始使用的headover 量。
几乎没有前导,我的程序以 750 kb 开始。
但是在我完成循环后,如果一个 int 重 32 位,程序假定为 4,000 kb 时使用 32,000 kb。
另一件值得一提的是,我正在使用ctrl+altk + delete方法来检查我的程序从 ram 中占用了多少空间,并且我正在 Visual c++ 2010 express 上运行它。
我也很肯定我的电脑上的 int 是 32 位而不是 64 并不重要,因为即使它是 64 而不是 32,它也应该是 8,000 kb 而不是 32,000 kb。
所以也许您可以尝试在您的电脑上执行此操作并告诉我您是否有相同的结果。
如果你知道我哪里出错了,请告诉我。