gpt4 book ai didi

c++ - 在给定指向该元素的指针的情况下查找 vector 中元素的索引

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:43 28 4
gpt4 key购买 nike

我有一个结构 vector ,如下所示:std::vector<mystruct> elems .

如果我有一个 mystruct知道的指针指向elems的元素之一,如何在 elems 中获取其索引? ?

最佳答案

ptr - &elems[0];

从C++03开始,要求 vector 存储是连续的,标准中对“连续”的定义是&v[n] == &v[0] + n;

[编辑:从相当理论上的可移植性角度来看,请注意允许实现定义 SIZE_MAXptrdiff_t,这样就可以在相同的范围内减去两个指针结果 undefined object 。您希望没有实现会安排实际导致问题,但您永远不会知道。实现很容易避免 - 只是不要返回那么大的分配]

关于c++ - 在给定指向该元素的指针的情况下查找 vector 中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179570/

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