gpt4 book ai didi

c++ - 从迭代器中获取索引处的元素

转载 作者:太空宇宙 更新时间:2023-11-04 16:05:02 25 4
gpt4 key购买 nike

我有这样一个函数:

void func(vector<LatLng>::iterator it_start,
vector<LatLng>::iterator it_end)
{
int middle_index = (it_end - it_start) / 2;
// how can I now get the element at 'middle_index' ?
}

我现在可以获取位于 middle_index 的元素而不将 vector 本身作为参数传递吗?

最佳答案

void func(vector<LatLng>::iterator it_start,
vector<LatLng>::iterator it_end)
{
int middle_index = (it_end - it_start) / 2;
std::advance(it_start, middle_index);
LatLng& mid = *it_start;
}

或简单地

    LatLng& mid = *std::advance(it_start, (it_end - it_start) / 2);

    LatLng& mid = it_start[(it_end - it_start) / 2];

或使用 std::next :

    LatLng& mid = *std::next(it_start, middle_index);

关于c++ - 从迭代器中获取索引处的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36900673/

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