阅读背景:

在迭代器的计算中,如果我使用在begin()之前或end()之后的迭代器作为操作数,是否定义了它的行为?

来源:互联网 

I tried an experiment:

我做了一个试验:

#include <iostream>
#include <vector>

int main(void) {
  std::vector<int> a{1, 2, 3};
  std::vector<int>::iterator b = a.begin();
  std::vector<int>::iterator c = a.end();
  std::vector<int>::iterator d = b - 1;
  std::vector<int>::iterator e = c + 1;
  std::cout << true << std::endl;
  std::cout << (d < b) << std::endl;
  std::cout << (e > c) << std::endl;
  return 0;
}
#include <i



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: