gpt4 book ai didi

c++ - 删除动态数组时会发生什么?

转载 作者:行者123 更新时间:2023-11-28 05:16:31 24 4
gpt4 key购买 nike

<分区>

我制作了一个动态数组(示例):

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”时,它只删除了指向元素的指针,但元素仍然可以访问?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com