【发布时间】:2017-06-22 15:50:48
【问题描述】:
一个特别有用的标准算法是std::equal,定义如下:
template <typename InputIterator1, typename InputIterator2>
inline bool equal(InputIterator1 start1,
InputIterator1 end1,
InputIterator2 start2)
{
while(start1 != end1)
{
if(*start1 != *start2) return false;
++start1;
++start2;
}
return true;
}
算法遍历[start1, end1) 定义的范围,并且
[start2, start2 + (end1 – start1)) 并返回范围内的元素是否相等。请注意,该算法是在两种不同类型的输入迭代器上模板化的。
这是为什么?
【问题讨论】:
-
例如,您可能想比较不同容器中的内容。