gpt4 book ai didi

c++ - 添加到 vector 或从 vector 中删除后,指向 vector 元素的指针是否保留(在 C++ 中)

转载 作者:搜寻专家 更新时间:2023-10-31 01:42:27 25 4
gpt4 key购买 nike

我正在研究碰撞引擎,更具体地说,我正在尝试制作世界上相关物体的 vector 。为了能够访问世界中 body vector 中表示特定对象的特定 body ,我需要知道哪个特定 body 代表该对象。为此,我想在添加新主体时返回指向主体 vector 中主体的指针,但是当我删除主体时会发生什么?更具体地说,如果我删除了主体列表中当前主体之前的主体,并且主体在数组中的位置发生了变化。我的指针是否仍指向内存中的正确位置?

最佳答案

删除 vector 中的元素后,删除元素之后的所有元素都将向左移动一个位置。因此,如果指针是 vector 中的最后一个元素,则指针将指向某个其他元素或指向已删除的元素。

如果您添加一个新元素,那么 vector 可以重新分配内存。因此,所有指向 vector 元素的指针都将无效。

关于c++ - 添加到 vector 或从 vector 中删除后,指向 vector 元素的指针是否保留(在 C++ 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26832928/

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