- C++指针类型定义了指针在加减乘除时的具体单位
例如:int* + 1 == char* + 4
- iterator本质上也是指针,下面是一个在vector上做局部二分的例子,注意lower_bound的返回值也是iterator,所以要获取结果的下标,需要减去s.begin()
lower_bound(s.begin() + l, s.end(), x, greater<int\>()) - s.begin();
- iterator包括random access iterator > bidirectional iterator > forward iterator (input iterator, output iterator)
advance() // 前进iterator
distance(a, b) // 计算[a, b)之间的元素个数
next(a) // 获取值并进步