我正在尝试解决内存使用限制为0.75 mb的问题
我无法制作大小为100 000的数组,因为它不在0.75 mb之内

我的程序如下:

#include <iostream>
#include <String>
using namespace std;

void main() {
char temp;
int temp1, num, k, z, val__=0;
cin >> num;
int* value = new int[94000];
short* place = new short[94000];
for (int i = 0; i< num; i++) {
    cin >> temp>>temp;
    if (temp == 'U') {
        cin >> temp >> temp >> place[val__] >> value[val__++];
    }
    else {
        cin >> temp >> temp1;
        for (k = val__-1; k >=0; k-- ) {
            if (place[k]==temp1) {
                cout << value[k]<<endl;
                for (z = k; z < val__; z++) {
                    value[z]=value[z+1];
                    place[z]=place[z+1];
                }
                val__--;
                k = 0;
            }
        }
    }

}
}


如何全局计算C ++程序的内存使用量,以及如何减少使用的内存量?
在一个数组中,我存储从0到1000的数字。在第二个中,我存储从0到10 ^ 9的数字

最佳答案

您有两个数组,假设sizeof(int)是4个字节,sizeof(short)是2个字节
那么您只需使用600000字节外加一点点用于堆管理。
我认为其他内存占用堆栈或其他类型的内存。
可能您必须减少堆栈?

关于c++ - 减少程序的内存使用量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15465214/

10-17 01:28