一種特別有用的標準算法是std::equal
,其被定義如下:C++ STL算法等於
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))
並返回所定義的範圍中的範圍中的元素是否相等。請注意,該算法是對兩種不同類型的輸入迭代器進行模板化。
這是爲什麼?
作爲示例,您可能想比較不同容器中的內容。 – skypjack