gpt4 book ai didi

c++ - new[] 是否连续分配内存?

转载 作者:可可西里 更新时间:2023-11-01 17:34:31 24 4
gpt4 key购买 nike

当我使用 new[] 关键字(或 new-operator)时,它是否连续分配内存?

int* arr = new int[10];

我的意思是,是否可以保证 arr[0]arr[1] 位置很近,并且我可以遍历 arr 使用指针增量?如果是这样,这种行为是否使用结构和类而不是 int 来保存?

最佳答案

C++ 标准绝对保证了这一点。

arr[0]arr[9] 是连续的,元素之间不允许填充。指针算法在分配的区域中有效。您可以设置指向 arr + 10 的指针,但不要取消引用它。

这适用于任何 类。每个元素分配的内存量是 sizeof(Y),其中 Y 是类或普通旧数据类型。

关于c++ - new[] 是否连续分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46241860/

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