c# 重写 c++ 程序笔记:遍历
2021年9月20日 01:43
编程技术
c# 重写 c++ 程序笔记:遍历
倒序遍历
c++
std::vector<byte> items
item.begin()
item.end()
item.rbegin()
item.rend()
转 c#
IList<byte> items
0
items.Count
-1
items.Count  -1
遍历c++
for(std::vector<byte>::const_iterator p = items.begin(); p != items.end(); ++p)
{
    *p
}
转 c#
for (var i = 0; i < items.Count; i ++) 
{
    items[i]
}
倒序遍历c++
using rit = std::reverse_iterator<std::vector<byte>::const_iterator>;
for(rit p = rit(items.begin()); p != items.rend(); ++p)
{
    *p
}
转 c#
for (var i = -1; i != items.Count - 1; i --) 
{
    items[i]
}
我的理解:
std::reverse_iterator 实际上是把输入的位置往前移一位,并把 + 转成 -,方向反一下