gpt4 book ai didi

c++ - 如何在 C++ 中使用数组演示内存错误

转载 作者:可可西里 更新时间:2023-11-01 18:42:02 24 4
gpt4 key购买 nike

我正在尝试想出一种方法来演示一种使用数组和 C++ 的内存错误,这种错误很难检测到。目的是激发 STL vector<> 与迭代器结合使用。

编辑: 接受的答案是我用来解释优点/缺点的答案。我还用过:this

最佳答案

不正确地配对 new/delete 和 new[]/delete[]。

例如,使用:

int *array = new int[5];
delete array;

代替:

int *array = new int[5];
delete [] array;

虽然 c++ 标准不允许这样做,但一些编译器支持堆栈分配数组:

int stack_allocated_buffer[size_at_runtime];

这可能是作用域规则的意外副作用(例如常量被成员变量遮蔽)......并且它一直有效直到有人将'size_at_runtime'传递得太大并炸毁堆栈。然后会出现蹩脚的错误。

关于c++ - 如何在 C++ 中使用数组演示内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2776608/

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