gpt4 book ai didi

c++ - 从指针删除到指针 vector

转载 作者:行者123 更新时间:2023-11-28 03:27:44 24 4
gpt4 key购买 nike

对于下面的代码:

vector<int*> x;
vector<int*>* p;

// say I initiated x with a couple of integers
p = &x;

//erases the indicie of the given integer
void erase(vector<int*> &x, int n){
int i = 0;
while (*(x[i]) != n){
i++;
}
delete x[i];
x.erase(x.begin() + i);
}

如果我调用代码 erase(*p, 2); 我现在想将 p 设置为这个已被删除的 vector 的地址......我我正在尝试 p = &(*p); .. 但这不起作用,我遇到了段错误,有什么想法吗?

最佳答案

你不应该做任何事情。 p 仍然指向 &x,就像调用 erase() 之前一样。从 vector 中删除元素不会更改 vector 的地址。

关于c++ - 从指针删除到指针 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13481073/

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