相关疑难解决方法(0)

释放指针向量,但内存仍在使用中

我不知道以下代码有什么问题!我删除所有的指针,但是当我使用"顶"命令来观看的记忆,我可以看到,仍然大量内存分配给程序.我在这里遗漏了什么来释放记忆吗?

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int*> container;
    vector<int*>::iterator itr;
    unsigned long long i;

    for(i = 0; i < 10000000; i++)
    {
        int* temp = new int();
        *temp = 1;
        container.push_back(temp);
    }

    for(itr = container.begin(); itr != container.end(); itr++)
    {
        delete *itr;
        *itr = NULL;
    }

    container.clear();
    cout<<"\nafter clear\n";

    while(1)
    {
        sleep(1000000);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers memory-management vector

2
推荐指数
1
解决办法
1089
查看次数

标签 统计

c++ ×1

memory-management ×1

pointers ×1

vector ×1