<分区>
我制作了一个动态数组(示例):
int *a;
a = new int[3];
a[0] = 10; a[1] = 20; a[2] = 30;
然后我创建了一个存储指针的 vector :
vector<int*> pa;
pa.push_back(&a[0]);
在我用“delete[] a;”删除(释放)内存后,我仍然可以访问我 push_backed 的元素。 (cout << *pa[0]; 输出: 10)
为什么会这样?当我“delete[] a”时,它只删除了指向元素的指针,但元素仍然可以访问?