#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int*> vec;
int* pa = new int(1);
int* pb = new int(2);
int* pc = new int(3);
vec.push_back(pa);
vec.push_back(pb);
vec.push_back(pc);
for (auto x : vec)
{
cout << x << ":" << *x;
cout << endl;
}
//cout << "clear():" << endl;
//vec.clear();
//for (auto x : vec)
// cout << x << " ";
//cout << endl;
cout << "delete\n";
vector<int*> pvec;
pvec.push_back(pa);
pvec.push_back(pb);
pvec.push_back(pc);
for (auto x : pvec)
{
delete x;
}
for (auto x : pvec)
{
cout << x << ":" << *x;
cout << endl;
}
return 0;
}
输出结果:
004695F0:1
00469600:2
00499610:3
delete
004695F0:1
00469600:2
00499610:3
请问为什么delete之后地址内的数据还存在