Sam*_*rsa 4 c++ visual-studio-2008
我在a上使用反向迭代器std::vector并根据以下链接:
http://www.cplusplus.com/reference/stl/vector/rbegin/
myVector.rbegin()是向量的最后一个元素.在我的例子中,我实际上是在获取past the end迭代器rbegin()和第一个元素rend().我本来希望rend()给我past the end迭代器并rbegin()给我容器中的最后一个元素.我完全理解错了吗?
以下是我的代码,没什么特别的.我在分配之后设置了一个断点,以上是我在调试器中得到的结果(VecDebugCubes是a的类型定义std::vector<myStructure>)
VecDebugCubes::reverse_iterator itr = pActiveDebugCubes.rbegin();
VecDebugCubes::reverse_iterator itrEnd = pActiveDebugCubes.rend();
while (itr != itrEnd)
{
(*itr)->printDebugValues();
++itr;
}
Run Code Online (Sandbox Code Playgroud)
请访问http://www.cplusplus.com/reference/std/iterator/reverse_iterator/base/.
取消引用反向迭代器将返回与您在调试器中看到的值不同的值.
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |