1

我正在使用优秀的range-v3库。我的一个函数返回一个ranges::view我想与std::vector. 当然,我可以逐个元素进行比较,但必须有更好的方法。

如何确定ranges::viewobject 和之间的等价性std::vector

4

1 回答 1

2

如果您想知道两个范围是否引用相等元素的序列,请将它们传递给ranges::equal算法(DEMO):

int main() {
  std::vector<int> vec{5,4,3,2,1,0};
  assert(ranges::equal(vec, ranges::view::iota(0, 6) | ranges::view::reverse));
}
于 2017-12-22T01:30:29.590 回答