gpt4 book ai didi

c++ - 反向迭代器未按预期工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:55 25 4
gpt4 key购买 nike

我在 std::vector 上使用反向迭代器并根据以下链接:

http://www.cplusplus.com/reference/stl/vector/rbegin/

myVector.rbegin()是 vector 的最后一个元素。就我而言,我实际上得到了 past the end rbegin() 上的迭代器和来自 rend() 的拳头元素.我会期待 rend()给我past the end迭代器和 rbegin()给我容器中的最后一个元素。我理解错了吗?

以下是我的代码,没什么特别的。我在赋值之后放置了一个断点,上面是我在调试器中得到的结果( VecDebugCubesstd::vector<myStructure> 的类型定义)

VecDebugCubes::reverse_iterator itr    = pActiveDebugCubes.rbegin();
VecDebugCubes::reverse_iterator itrEnd = pActiveDebugCubes.rend();
while (itr != itrEnd)
{
(*itr)->printDebugValues();
++itr;
}

最佳答案

参见 http://www.cplusplus.com/reference/std/iterator/reverse_iterator/base/ .

取消引用反向迭代器将返回一个与您在调试器中看到的指向的值不同的值。

关于c++ - 反向迭代器未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4352010/

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