c# 重写 c++ 程序笔记:遍历
倒序遍历
c++
std::vector<byte> items
item.begin()
item.end()
item.rbegin()
item.rend()
1234567891011
转 c#
IList<byte> items
0
items.Count
-1
items.Count -1
123456789101112
遍历c++
for(std::vector<byte>::const_iterator p = items.begin(); p != items.end(); ++p)
{
*p
}
123456
转 c#
for (var i = 0; i < items.Count; i ++)
{
items[i]
}
123456
倒序遍历c++
using rit = std::reverse_iterator<std::vector<byte>::const_iterator>;
for(rit p = rit(items.begin()); p != items.rend(); ++p)
{
*p
}
1234567
转 c#
for (var i = -1; i != items.Count - 1; i --)
{
items[i]
}
123456
我的理解:
std::reverse_iterator
实际上是把输入的位置往前移一位,并把 +
转成 -
,方向反一下
转载请保留原文链接: https://zodream.cn/blog/id/220.html